home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-24 | 384.1 KB | 7,426 lines |
- #========= THIS IS THE JARGON FILE, VERSION 2.9.12, 10 MAY 1993 =========#
-
- This is the Jargon File, a comprehensive compendium of hacker slang
- illuminating many aspects of hackish tradition, folklore, and humor.
-
- This document (the Jargon File) is in the public domain, to be freely
- used, shared, and modified. There are (by intention) no legal
- restraints on what you can do with it, but there are traditions about
- its proper use to which many hackers are quite strongly attached.
- Please extend the courtesy of proper citation when you quote the File,
- ideally with a version number, as it will change and grow over time.
- (Examples of appropriate citation form: "Jargon File 2.9.12" or
- "The on-line hacker Jargon File, version 2.9.12, 10 MAY 1993".)
-
- The Jargon File is a common heritage of the hacker culture.
- Over the years a number of individuals have volunteered considerable
- time to maintaining the File and been recognized by the net at large
- as editors of it. Editorial responsibilities include: to collate
- contributions and suggestions from others; to seek out corroborating
- information; to cross-reference related entries; to keep the file in a
- consistent format; and to announce and distribute updated versions
- periodically. Current volunteer editors include:
-
- Eric Raymond esr@snark.thyrsus.com (215)-296-5718
-
- Although there is no requirement that you do so, it is considered good
- form to check with an editor before quoting the File in a published work
- or commercial product. We may have additional information that would be
- helpful to you and can assist you in framing your quote to reflect
- not only the letter of the File but its spirit as well.
-
- All contributions and suggestions about this file sent to a volunteer
- editor are gratefully received and will be regarded, unless otherwise
- labelled, as freely given donations for possible use as part of this
- public-domain file.
-
- From time to time a snapshot of this file has been polished, edited,
- and formatted for commercial publication with the cooperation of the
- volunteer editors and the hacker community at large. If you wish to
- have a bound paper copy of this file, you may find it convenient to
- purchase one of these. They often contain additional material not
- found in on-line versions. The two `authorized' editions so far are
- described in the Revision History section; there may be more in the
- future.
-
- :Introduction:
- **************
-
- :About This File:
- =================
-
- This document is a collection of slang terms used by various subcultures
- of computer hackers. Though some technical material is included for
- background and flavor, it is not a technical dictionary; what we
- describe here is the language hackers use among themselves for fun,
- social communication, and technical debate.
-
- The `hacker culture' is actually a loosely networked collection of
- subcultures that is nevertheless conscious of some important shared
- experiences, shared roots, and shared values. It has its own myths,
- heroes, villains, folk epics, in-jokes, taboos, and dreams. Because
- hackers as a group are particularly creative people who define
- themselves partly by rejection of `normal' values and working habits, it
- has unusually rich and conscious traditions for an intentional culture
- less than 35 years old.
-
- As usual with slang, the special vocabulary of hackers helps hold their
- culture together --- it helps hackers recognize each other's places in
- the community and expresses shared values and experiences. Also as
- usual, *not* knowing the slang (or using it inappropriately) defines one
- as an outsider, a mundane, or (worst of all in hackish vocabulary)
- possibly even a {suit}. All human cultures use slang in this threefold
- way --- as a tool of communication, and of inclusion, and of exclusion.
-
- Among hackers, though, slang has a subtler aspect, paralleled perhaps in
- the slang of jazz musicians and some kinds of fine artists but hard to
- detect in most technical or scientific cultures; parts of it are code
- for shared states of *consciousness*. There is a whole range of altered
- states and problem-solving mental stances basic to high-level hacking
- which don't fit into conventional linguistic reality any better than a
- Coltrane solo or one of Maurits Escher's `trompe l'oeil' compositions
- (Escher is a favorite of hackers), and hacker slang encodes these
- subtleties in many unobvious ways. As a simple example, take the
- distinction between a {kluge} and an {elegant} solution, and the
- differing connotations attached to each. The distinction is not only of
- engineering significance; it reaches right back into the nature of the
- generative processes in program design and asserts something important
- about two different kinds of relationship between the hacker and the
- hack. Hacker slang is unusually rich in implications of this kind, of
- overtones and undertones that illuminate the hackish psyche.
-
- But there is more. Hackers, as a rule, love wordplay and are very
- conscious and inventive in their use of language. These traits seem to
- be common in young children, but the conformity-enforcing machine we are
- pleased to call an educational system bludgeons them out of most of us
- before adolescence. Thus, linguistic invention in most subcultures of
- the modern West is a halting and largely unconscious process. Hackers,
- by contrast, regard slang formation and use as a game to be played for
- conscious pleasure. Their inventions thus display an almost unique
- combination of the neotenous enjoyment of language-play with the
- discrimination of educated and powerful intelligence. Further, the
- electronic media which knit them together are fluid, `hot' connections,
- well adapted to both the dissemination of new slang and the ruthless
- culling of weak and superannuated specimens. The results of this
- process give us perhaps a uniquely intense and accelerated view of
- linguistic evolution in action.
-
- Hackish slang also challenges some common linguistic and
- anthropological assumptions. For example, it has recently become
- fashionable to speak of `low-context' versus `high-context'
- communication, and to classify cultures by the preferred context level
- of their languages and art forms. It is usually claimed that
- low-context communication (characterized by precision, clarity, and
- completeness of self-contained utterances) is typical in cultures
- which value logic, objectivity, individualism, and competition; by
- contrast, high-context communication (elliptical, emotive,
- nuance-filled, multi-modal, heavily coded) is associated with cultures
- which value subjectivity, consensus, cooperation, and tradition. What
- then are we to make of hackerdom, which is themed around extremely
- low-context interaction with computers and exhibits primarily
- "low-context" values, but cultivates an almost absurdly high-context
- slang style?
-
- The intensity and consciousness of hackish invention make a compilation
- of hacker slang a particularly effective window into the surrounding
- culture --- and, in fact, this one is the latest version of an evolving
- compilation called the `Jargon File', maintained by hackers themselves
- for over 15 years. This one (like its ancestors) is primarily a
- lexicon, but also includes `topic entries' which collect background or
- sidelight information on hacker culture that would be awkward to try to
- subsume under individual entries.
-
- Though the format is that of a reference volume, it is intended that the
- material be enjoyable to browse. Even a complete outsider should find
- at least a chuckle on nearly every page, and much that is amusingly
- thought-provoking. But it is also true that hackers use humorous
- wordplay to make strong, sometimes combative statements about what they
- feel. Some of these entries reflect the views of opposing sides in
- disputes that have been genuinely passionate; this is deliberate. We
- have not tried to moderate or pretty up these disputes; rather we have
- attempted to ensure that *everyone's* sacred cows get gored,
- impartially. Compromise is not particularly a hackish virtue, but the
- honest presentation of divergent viewpoints is.
-
- The reader with minimal computer background who finds some references
- incomprehensibly technical can safely ignore them. We have not felt it
- either necessary or desirable to eliminate all such; they, too,
- contribute flavor, and one of this document's major intended audiences
- --- fledgling hackers already partway inside the culture --- will
- benefit from them.
-
- A selection of longer items of hacker folklore and humor is included in
- {appendix A}. The `outside' reader's attention is particularly directed
- to {appendix B}, "A Portrait of J. Random Hacker". {Appendix C} is a
- bibliography of non-technical works which have either influenced or
- described the hacker culture.
-
- Because hackerdom is an intentional culture (one each individual must
- choose by action to join), one should not be surprised that the line
- between description and influence can become more than a little
- blurred. Earlier versions of the Jargon File have played a central role
- in spreading hacker language and the culture that goes with it to
- successively larger populations, and we hope and expect that this one
- will do likewise.
-
- :Of Slang, Jargon, and Techspeak:
- =================================
-
- Linguists usually refer to informal language as `slang' and reserve the
- term `jargon' for the technical vocabularies of various occupations.
- However, the ancestor of this collection was called the `Jargon File',
- and hackish slang is traditionally `the jargon'. When talking about the
- jargon there is therefore no convenient way to distinguish it from what
- a *linguist* would call hackers' jargon --- the formal vocabulary they
- learn from textbooks, technical papers, and manuals.
-
- To make a confused situation worse, the line between hackish slang and
- the vocabulary of technical programming and computer science is fuzzy,
- and shifts over time. Further, this vocabulary is shared with a wider
- technical culture of programmers, many of whom are not hackers and do
- not speak or recognize hackish slang.
-
- Accordingly, this lexicon will try to be as precise as the facts of
- usage permit about the distinctions among three categories:
-
- * `slang': informal language from mainstream English or non-technical
- subcultures (bikers, rock fans, surfers, etc).
-
- * `jargon': without qualifier, denotes informal `slangy' language
- peculiar to or predominantly found among hackers --- the subject of
- this lexicon.
-
- * `techspeak': the formal technical vocabulary of programming,
- computer science, electronics, and other fields connected to
- hacking.
-
- This terminology will be consistently used throughout the remainder of
- this lexicon.
-
- The jargon/techspeak distinction is the delicate one. A lot of
- techspeak originated as jargon, and there is a steady continuing uptake
- of jargon into techspeak. On the other hand, a lot of jargon arises
- from overgeneralization of techspeak terms (there is more about this in
- the "Jargon Construction" section below).
-
- In general, we have considered techspeak any term that communicates
- primarily by a denotation well established in textbooks, technical
- dictionaries, or standards documents.
-
- A few obviously techspeak terms (names of operating systems, languages,
- or documents) are listed when they are tied to hacker folklore that
- isn't covered in formal sources, or sometimes to convey critical
- historical background necessary to understand other entries to which
- they are cross-referenced. Some other techspeak senses of jargon words
- are listed in order to make the jargon senses clear; where the text does
- not specify that a straight technical sense is under discussion, these
- are marked with `[techspeak]' as an etymology. Some entries have a
- primary sense marked this way, with subsequent jargon meanings explained
- in terms of it.
-
- We have also tried to indicate (where known) the apparent origins of
- terms. The results are probably the least reliable information in the
- lexicon, for several reasons. For one thing, it is well known that many
- hackish usages have been independently reinvented multiple times, even
- among the more obscure and intricate neologisms. It often seems that
- the generative processes underlying hackish jargon formation have an
- internal logic so powerful as to create substantial parallelism across
- separate cultures and even in different languages! For another, the
- networks tend to propagate innovations so quickly that `first use' is
- often impossible to pin down. And, finally, compendia like this one
- alter what they observe by implicitly stamping cultural approval on
- terms and widening their use.
-
- Despite these problems, the organized collection of jargon-related oral
- history for the File's 2.x.x versions has enabled us to put to rest
- quite a number of folk etymologies, place credit where credit is due,
- and illuminate the early history of many important hackerisms such as
- {kluge}, {cruft}, and {foo}. We believe specialist lexicographers will
- find many of the historical notes more than casually instructive.
-
- :Revision History:
- ==================
-
- The original Jargon File was a collection of hacker jargon from
- technical cultures including the MIT AI Lab, the Stanford AI lab (SAIL),
- and others of the old ARPANET AI/LISP/PDP-10 communities including Bolt,
- Beranek and Newman (BBN), Carnegie-Mellon University (CMU), and
- Worcester Polytechnic Institute (WPI).
-
- The Jargon File (hereafter referred to as `jargon-1' or `the File') was
- begun by Raphael Finkel at Stanford in 1975. From this time until the
- plug was finally pulled on the SAIL computer in 1991, the File was named
- AIWORD.RF[UP,DOC] there. Some terms in it date back considerably
- earlier ({frob} and some senses of {moby}, for instance, go back to the
- Tech Model Railroad Club at MIT and are believed to date at least back
- to the early 1960s). The revisions of jargon-1 were all unnumbered and
- may be collectively considered `Version 1'.
-
- In 1976, Mark Crispin, having seen an announcement about the File on the
- SAIL computer, {FTP}ed a copy of the File to MIT. He noticed that it
- was hardly restricted to `AI words' and so stored the file on his
- directory as AI:MRC;SAIL JARGON.
-
- The file was quickly renamed JARGON > (the `>' caused versioning under
- ITS) as a flurry of enhancements were made by Mark Crispin and Guy L.
- Steele Jr. Unfortunately, amidst all this activity, nobody thought of
- correcting the term `jargon' to `slang' until the compendium had already
- become widely known as the Jargon File.
-
- Raphael Finkel dropped out of active participation shortly thereafter
- and Don Woods became the SAIL contact for the File (which was
- subsequently kept in duplicate at SAIL and MIT, with periodic
- resynchronizations).
-
- The File expanded by fits and starts until about 1983; Richard Stallman
- was prominent among the contributors, adding many MIT and ITS-related
- coinages.
-
- In Spring 1981, a hacker named Charles Spurgeon got a large chunk of the
- File published in Stewart Brand's `CoEvolution Quarterly' (issue 29,
- pages 26--35) with illustrations by Phil Wadler and Guy Steele
- (including a couple of the Crunchly cartoons). This appears to have
- been the File's first paper publication.
-
- A late version of jargon-1, expanded with commentary for the mass
- market, was edited by Guy Steele into a book published in 1983 as `The
- Hacker's Dictionary' (Harper & Row CN 1082, ISBN 0-06-091082-8). The
- other jargon-1 editors (Raphael Finkel, Don Woods, and Mark Crispin)
- contributed to this revision, as did Richard M. Stallman and Geoff
- Goodfellow. This book (now out of print) is hereafter referred to as
- `Steele-1983' and those six as the Steele-1983 coauthors.
-
- Shortly after the publication of Steele-1983, the File effectively
- stopped growing and changing. Originally, this was due to a desire to
- freeze the file temporarily to facilitate the production of Steele-1983,
- but external conditions caused the `temporary' freeze to become
- permanent.
-
- The AI Lab culture had been hit hard in the late 1970s by funding cuts
- and the resulting administrative decision to use vendor-supported
- hardware and software instead of homebrew whenever possible. At MIT,
- most AI work had turned to dedicated LISP Machines. At the same time,
- the commercialization of AI technology lured some of the AI Lab's best
- and brightest away to startups along the Route 128 strip in
- Massachusetts and out West in Silicon Valley. The startups built LISP
- machines for MIT; the central MIT-AI computer became a {TWENEX} system
- rather than a host for the AI hackers' beloved {ITS}.
-
- The Stanford AI Lab had effectively ceased to exist by 1980, although
- the SAIL computer continued as a Computer Science Department resource
- until 1991. Stanford became a major {TWENEX} site, at one point
- operating more than a dozen TOPS-20 systems; but by the mid-1980s most
- of the interesting software work was being done on the emerging BSD UNIX
- standard.
-
- In April 1983, the PDP-10-centered cultures that had nourished the File
- were dealt a death-blow by the cancellation of the Jupiter project at
- Digital Equipment Corporation. The File's compilers, already dispersed,
- moved on to other things. Steele-1983 was partly a monument to what its
- authors thought was a dying tradition; no one involved realized at the
- time just how wide its influence was to be.
-
- By the mid-1980s the File's content was dated, but the legend that had
- grown up around it never quite died out. The book, and softcopies
- obtained off the ARPANET, circulated even in cultures far removed from
- MIT and Stanford; the content exerted a strong and continuing influence
- on hackish language and humor. Even as the advent of the microcomputer
- and other trends fueled a tremendous expansion of hackerdom, the File
- (and related materials such as the AI Koans in Appendix A) came to be
- seen as a sort of sacred epic, a hacker-culture Matter of Britain
- chronicling the heroic exploits of the Knights of the Lab. The pace of
- change in hackerdom at large accelerated tremendously --- but the Jargon
- File, having passed from living document to icon, remained essentially
- untouched for seven years.
-
- This revision contains nearly the entire text of a late version of
- jargon-1 (a few obsolete PDP-10-related entries were dropped after
- careful consultation with the editors of Steele-1983). It merges in
- about 80% of the Steele-1983 text, omitting some framing material and a
- very few entries introduced in Steele-1983 that are now also obsolete.
-
- This new version casts a wider net than the old Jargon File; its aim is
- to cover not just AI or PDP-10 hacker culture but all the technical
- computing cultures wherein the true hacker-nature is manifested. More
- than half of the entries now derive from {USENET} and represent jargon
- now current in the C and UNIX communities, but special efforts have been
- made to collect jargon from other cultures including IBM PC programmers,
- Amiga fans, Mac enthusiasts, and even the IBM mainframe world.
-
- Eric S. Raymond <esr@snark.thyrsus.com> maintains the new File with
- assistance from Guy L. Steele Jr. <gls@think.com>; these are the persons
- primarily reflected in the File's editorial `we', though we take
- pleasure in acknowledging the special contribution of the other
- coauthors of Steele-1983. Please email all additions, corrections, and
- correspondence relating to the Jargon File to jargon@thyrsus.com
- (UUCP-only sites without connections to an autorouting smart site can
- use ...!uunet!snark!jargon).
-
- (Warning: other email addresses appear in this file *but are not
- guaranteed to be correct* later than the revision date on the first
- line. *Don't* email us if an attempt to reach your idol bounces --- we
- have no magic way of checking addresses or looking up people.)
-
- The 2.9.6 version became the main text of `The New Hacker's Dictionary',
- by Eric Raymond (ed.), MIT Press 1991, ISBN 0-262-68069-6. The
- maintainers are committed to updating the on-line version of the Jargon
- File through and beyond paper publication, and will continue to make it
- available to archives and public-access sites as a trust of the hacker
- community.
-
- Here is a chronology of the high points in the recent on-line revisions:
-
- Version 2.1.1, Jun 12 1990: the Jargon File comes alive again after a
- seven-year hiatus. Reorganization and massive additions were by Eric
- S. Raymond, approved by Guy Steele. Many items of UNIX, C, USENET, and
- microcomputer-based jargon were added at that time (as well as The
- Untimely Demise of Mabel The Monkey).
-
- Version 2.9.6, Aug 16 1991: corresponds to reproduction copy for book.
- This version had 18952 lines, 148629 words, 975551 characters, and 1702
- entries.
-
- Version 2.9.8, Jan 01 1992: first public release since the book,
- including over fifty new entries and numerous corrections/additions to
- old ones. Packaged with version 1.1 of vh(1) hypertext reader. This
- version had 19509 lines, 153108 words, 1006023 characters, and 1760
- entries.
-
- Version 2.9.9, Apr 01 1992: folded in XEROX PARC lexicon. This version
- had 20298 lines, 159651 words, 1048909 characters, and 1821 entries.
-
- Version 2.9.10, Jul 01 1992: lots of new historical material. This
- version had 21349 lines, 168330 words, 1106991 characters, and 1891
- entries.
-
- Version 2.9.11, Jan 01 1993: lots of new historical material. This
- version had 21725 lines, 171169 words, 1125880 characters, and 1922
- entries.
-
- Version 2.9.12, May 10 1993: a few new entries & changes, marginal
- MUD/IRC slang and some borderline techspeak removed, all in preparation
- for 2nd Edition of TNHD. This version had 22238 lines, 175114 words,
- 1152467 characters, and 1946 entries.
-
- Version numbering: Version numbers should be read as
- major.minor.revision. Major version 1 is reserved for the `old' (ITS)
- Jargon File, jargon-1. Major version 2 encompasses revisions by ESR
- (Eric S. Raymond) with assistance from GLS (Guy L. Steele, Jr.) leading
- up to and including the second paper edition. From now on, major
- version number N.00 will probably correspond to the Nth paper edition.
- Usually later versions will either completely supersede or incorporate
- earlier versions, so there is generally no point in keeping old versions
- around.
-
- Our thanks to the coauthors of Steele-1983 for oversight and assistance,
- and to the hundreds of USENETters (too many to name here) who
- contributed entries and encouragement. More thanks go to several of the
- old-timers on the USENET group alt.folklore.computers, who contributed
- much useful commentary and many corrections and valuable historical
- perspective: Joseph M. Newcomer <jn11+@andrew.cmu.edu>, Bernie Cosell
- <cosell@bbn.com>, Earl Boebert <boebert@SCTC.com>, and Joe Morris
- <jcmorris@mwunix.mitre.org>.
-
- We were fortunate enough to have the aid of some accomplished
- linguists. David Stampe <stampe@uhunix.uhcc.hawaii.edu> and Charles
- Hoequist <hoequist@bnr.ca> contributed valuable criticism; Joe Keane
- <jgk@osc.osc.com> helped us improve the pronunciation guides.
-
- A few bits of this text quote previous works. We are indebted to Brian
- A. LaMacchia <bal@zurich.ai.mit.edu> for obtaining permission for us to
- use material from the `TMRC Dictionary'; also, Don Libes
- <libes@cme.nist.gov> contributed some appropriate material from his
- excellent book `Life With UNIX'. We thank Per Lindberg <per@front.se>,
- author of the remarkable Swedish-language 'zine `Hackerbladet', for
- bringing `FOO!' comics to our attention and smuggling one of the IBM
- hacker underground's own baby jargon files out to us. Thanks also to
- Maarten Litmaath for generously allowing the inclusion of the ASCII
- pronunciation guide he formerly maintained. And our gratitude to Marc
- Weiser of XEROX PARC <Marc_Weiser.PARC@xerox.com> for securing us
- permission to quote from PARC's own jargon lexicon and shipping us a
- copy.
-
- It is a particular pleasure to acknowledge the major contributions of
- Mark Brader <msb@sq.com> to the final manuscript; he read and reread
- many drafts, checked facts, caught typos, submitted an amazing number of
- thoughtful comments, and did yeoman service in catching typos and minor
- usage bobbles. Mr. Brader's rare combination of enthusiasm,
- persistence, wide-ranging technical knowledge, and precisionism in
- matters of language made his help invaluable, and the sustained volume
- and quality of his input over many months only allowed him to escape
- co-editor credit by the slimmest of margins.
-
- Finally, George V. Reilly <gvr@cs.brown.edu> helped with TeX arcana and
- painstakingly proofread some 2.7 and 2.8 versions; Steve Summit
- <scs@adam.mit.edu> contributed a number of excellent new entries and
- many small improvements to 2.9.10; and Eric Tiedemann <est@thyrsus.com>
- contributed sage advice throughout on rhetoric, amphigory, and
- philosophunculism.
-
- :How Jargon Works:
- ******************
-
- :Jargon Construction:
- =====================
-
- There are some standard methods of jargonification that became
- established quite early (i.e., before 1970), spreading from such sources
- as the Tech Model Railroad Club, the PDP-1 SPACEWAR hackers, and John
- McCarthy's original crew of LISPers. These include the following:
-
-
- :Verb Doubling: --------------- A standard construction in English is to
- double a verb and use it as an exclamation, such as "Bang, bang!" or
- "Quack, quack!". Most of these are names for noises. Hackers also
- double verbs as a concise, sometimes sarcastic comment on what the
- implied subject does. Also, a doubled verb is often used to terminate a
- conversation, in the process remarking on the current state of affairs
- or what the speaker intends to do next. Typical examples involve {win},
- {lose}, {hack}, {flame}, {barf}, {chomp}:
-
- "The disk heads just crashed." "Lose, lose."
- "Mostly he talked about his latest crock. Flame, flame."
- "Boy, what a bagbiter! Chomp, chomp!"
-
- Some verb-doubled constructions have special meanings not immediately
- obvious from the verb. These have their own listings in the lexicon.
-
- The {USENET} culture has one *tripling* convention unrelated to
- this; the names of `joke' topic groups often have a tripled last
- element. The first and paradigmatic example was
- alt.swedish.chef.bork.bork.bork (a "Muppet Show" reference);
- other infamous examples have included:
-
- alt.french.captain.borg.borg.borg
- alt.wesley.crusher.die.die.die
- comp.unix.internals.system.calls.brk.brk.brk
- sci.physics.edward.teller.boom.boom.boom
- alt.sadistic.dentists.drill.drill.drill
-
-
- :Soundalike slang: ------------------ Hackers will often make rhymes or
- puns in order to convert an ordinary word or phrase into something more
- interesting. It is considered particularly {flavorful} if the phrase is
- bent so as to include some other jargon word; thus the computer hobbyist
- magazine `Dr. Dobb's Journal' is almost always referred to among hackers
- as `Dr. Frob's Journal' or simply `Dr. Frob's'. Terms of this kind that
- have been in fairly wide use include names for newspapers:
-
- Boston Herald => Horrid (or Harried)
- Boston Globe => Boston Glob
- Houston (or San Francisco) Chronicle
- => the Crocknicle (or the Comical)
- New York Times => New York Slime
-
- However, terms like these are often made up on the spur of the moment.
- Standard examples include:
-
- Data General => Dirty Genitals
- IBM 360 => IBM Three-Sickly
- Government Property --- Do Not Duplicate (on keys)
- => Government Duplicity --- Do Not Propagate
- for historical reasons => for hysterical raisins
- Margaret Jacks Hall (the CS building at Stanford)
- => Marginal Hacks Hall
-
- This is not really similar to the Cockney rhyming slang it has been
- compared to in the past, because Cockney substitutions are opaque
- whereas hacker punning jargon is intentionally transparent.
-
-
- :The `-P' convention: --------------------- Turning a word into a
- question by appending the syllable `P'; from the LISP convention of
- appending the letter `P' to denote a predicate (a boolean-valued
- function). The question should expect a yes/no answer, though it
- needn't. (See {T} and {NIL}.)
-
- At dinnertime:
- Q: "Foodp?"
- A: "Yeah, I'm pretty hungry." or "T!"
-
- At any time:
- Q: "State-of-the-world-P?"
- A: (Straight) "I'm about to go home."
- A: (Humorous) "Yes, the world has a state."
-
- On the phone to Florida:
- Q: "State-p Florida?"
- A: "Been reading JARGON.TXT again, eh?"
-
- [One of the best of these is a {Gosperism}. Once, when we were at a
- Chinese restaurant, Bill Gosper wanted to know whether someone would
- like to share with him a two-person-sized bowl of soup. His inquiry
- was: "Split-p soup?" --- GLS]
-
-
- :Overgeneralization: -------------------- A very conspicuous feature of
- jargon is the frequency with which techspeak items such as names of
- program tools, command language primitives, and even assembler opcodes
- are applied to contexts outside of computing wherever hackers find
- amusing analogies to them. Thus (to cite one of the best-known
- examples) UNIX hackers often {grep} for things rather than searching for
- them. Many of the lexicon entries are generalizations of exactly this
- kind.
-
- Hackers enjoy overgeneralization on the grammatical level as well. Many
- hackers love to take various words and add the wrong endings to them to
- make nouns and verbs, often by extending a standard rule to nonuniform
- cases (or vice versa). For example, because
-
- porous => porosity
- generous => generosity
-
- hackers happily generalize:
-
- mysterious => mysteriosity
- ferrous => ferrosity
- obvious => obviosity
- dubious => dubiosity
-
- Another class of common construction uses the suffix `-itude' to
- abstract a quality from just about any adjective or noun. This
- is used especially in cases where mainstream English would perform the
- same abstraction through `-iness' or `-ingness'. Thus:
-
- win =>winnitude (a common exclamation)loss =>lossitudecruft =>cruftitudelame =>lameitude
- Some hackers cheerfully reverse this; they argue, for example, that
- the horizontal degree lines on a globe ought to be called `lats' ---
- after all, they're measuring latitude!
-
- Also, note that all nouns can be verbed. E.g.: "All nouns can be
- verbed", "I'll mouse it up", "Hang on while I clipboard it over", "I'm
- grepping the files". English as a whole is already heading in this
- direction (towards pure-positional grammar like Chinese); hackers are
- simply a bit ahead of the curve.
-
- However, hackers avoid the unimaginative verb-making techniques
- characteristic of marketroids, bean-counters, and the Pentagon; a hacker
- would never, for example, `productize', `prioritize', or `securitize'
- things. Hackers have a strong aversion to bureaucratic bafflegab and
- regard those who use it with contempt.
-
- Similarly, all verbs can be nouned. This is only a slight
- overgeneralization in modern English; in hackish, however, it is good
- form to mark them in some standard nonstandard way. Thus:
-
- win => winnitude, winnage
- disgust => disgustitude
- hack => hackification
-
- Further, note the prevalence of certain kinds of nonstandard plural
- forms. Some of these go back quite a ways; the TMRC Dictionary includes
- an entry which implies that the plural of `mouse' is {meeces}, and notes
- that the defined plural of `caboose' is `cabeese'. This latter has
- apparently been standard (or at least a standard joke) among railfans
- (railroad enthusiasts) for many years.
-
- On a similarly Anglo-Saxon note, almost anything ending in `x' may form
- plurals in `-xen' (see {VAXen} and {boxen} in the main text). Even
- words ending in phonetic /k/ alone are sometimes treated this way; e.g.,
- `soxen' for a bunch of socks. Other funny plurals are `frobbotzim' for
- the plural of `frobbozz' (see {frobnitz}) and `Unices' and `Twenices'
- (rather than `Unixes' and `Twenexes'; see {UNIX}, {TWENEX} in main
- text). But note that `Unixen' and `Twenexen' are never used; it has
- been suggested that this is because `-ix' and `-ex' are Latin singular
- endings that attract a Latinate plural. Finally, it has been suggested
- to general approval that the plural of `mongoose' ought to be
- `polygoose'.
-
- The pattern here, as with other hackish grammatical quirks, is
- generalization of an inflectional rule that in English is either an
- import or a fossil (such as the Hebrew plural ending `-im', or the
- Anglo-Saxon plural suffix `-en') to cases where it isn't normally
- considered to apply.
-
- This is not `poor grammar', as hackers are generally quite well aware of
- what they are doing when they distort the language. It is grammatical
- creativity, a form of playfulness. It is done not to impress but to
- amuse, and never at the expense of clarity.
-
-
- :Spoken inarticulations: ------------------------ Words such as
- `mumble', `sigh', and `groan' are spoken in places where their referent
- might more naturally be used. It has been suggested that this usage
- derives from the impossibility of representing such noises on a comm
- link or in electronic mail (interestingly, the same sorts of
- constructions have been showing up with increasing frequency in comic
- strips). Another expression sometimes heard is "Complain!", meaning "I
- have a complaint!"
-
-
- :Anthromorphization: -------------------- Semantically, one rich source
- of jargon constructions is the hackish tendency to anthropomorphize
- hardware and software. This isn't done in a naive way; hackers don't
- personalize their stuff in the sense of feeling empathy with it, nor do
- they mystically believe that the things they work on every day are
- `alive'. What *is* common is to hear hardware or software talked about
- as though it has homunculi talking to each other inside it, with
- intentions and desires. Thus, one hears "The protocol handler got
- confused", or that programs "are trying" to do things, or one may say of
- a routine that "its goal in life is to X". One even hears explanations
- like "... and its poor little brain couldn't understand X, and it
- died." Sometimes modelling things this way actually seems to make them
- easier to understand, perhaps because it's instinctively natural to
- think of anything with a really complex behavioral repertoire as `like a
- person' rather than `like a thing'.
-
-
-
- Of the six listed constructions, verb doubling, peculiar noun
- formations, anthromorphization, and (especially) spoken inarticulations
- have become quite general; but punning jargon is still largely confined
- to MIT and other large universities, and the `-P' convention is found
- only where LISPers flourish.
-
- Finally, note that many words in hacker jargon have to be understood as
- members of sets of comparatives. This is especially true of the
- adjectives and nouns used to describe the beauty and functional quality
- of code. Here is an approximately correct spectrum:
-
- monstrosity brain-damage screw bug lose misfeature
- crock kluge hack win feature elegance perfection
-
- The last is spoken of as a mythical absolute, approximated but never
- actually attained. Another similar scale is used for describing the
- reliability of software:
-
- broken flaky dodgy fragile brittle
- solid robust bulletproof armor-plated
-
- Note, however, that `dodgy' is primarily Commonwealth hackish (it is
- rare in the U.S.) and may change places with `flaky' for some speakers.
-
- Coinages for describing {lossage} seem to call forth the very finest in
- hackish linguistic inventiveness; it has been truly said that hackers
- have even more words for equipment failures than Yiddish has for
- obnoxious people.
-
- :Hacker Writing Style:
- ======================
-
- We've already seen that hackers often coin jargon by overgeneralizing
- grammatical rules. This is one aspect of a more general fondness for
- form-versus-content language jokes that shows up particularly in hackish
- writing. One correspondent reports that he consistently misspells
- `wrong' as `worng'. Others have been known to criticize glitches in
- Jargon File drafts by observing (in the mode of Douglas Hofstadter)
- "This sentence no verb", or "Too repetetetive", or "Bad speling", or
- "Incorrectspa cing." Similarly, intentional spoonerisms are often made
- of phrases relating to confusion or things that are confusing; `dain
- bramage' for `brain damage' is perhaps the most common (similarly, a
- hacker would be likely to write "Excuse me, I'm cixelsyd today", rather
- than "I'm dyslexic today"). This sort of thing is quite common and is
- enjoyed by all concerned.
-
- Hackers tend to use quotes as balanced delimiters like parentheses, much
- to the dismay of American editors. Thus, if "Jim is going" is a phrase,
- and so are "Bill runs" and "Spock groks", then hackers generally prefer
- to write: "Jim is going", "Bill runs", and "Spock groks". This is
- incorrect according to standard American usage (which would put the
- continuation commas and the final period inside the string quotes);
- however, it is counter-intuitive to hackers to mutilate literal strings
- with characters that don't belong in them. Given the sorts of examples
- that can come up in discussions of programming, American-style quoting
- can even be grossly misleading. When communicating command lines or
- small pieces of code, extra characters can be a real pain in the neck.
-
- Consider, for example, a sentence in a {vi} tutorial that looks like this:
-
- Then delete a line from the file by typing "dd".
-
- Standard usage would make this
-
- Then delete a line from the file by typing "dd."
-
- but that would be very bad --- because the reader would be prone to type
- the string d-d-dot, and it happens that in `vi(1)' dot repeats the last
- command accepted. The net result would be to delete *two* lines!
-
- The Jargon File follows hackish usage throughout.
-
- Interestingly, a similar style is now preferred practice in Great
- Britain, though the older style (which became established for
- typographical reasons having to do with the aesthetics of comma and
- quotes in typeset text) is still accepted there. `Hart's Rules' and the
- `Oxford Dictionary for Writers and Editors' call the hacker-like style
- `new' or `logical' quoting.
-
- Another hacker quirk is a tendency to distinguish between `scare' quotes
- and `speech' quotes; that is, to use British-style single quotes for
- marking and reserve American-style double quotes for actual reports of
- speech or text included from elsewhere. Interestingly, some authorities
- describe this as correct general usage, but mainstream American English
- has gone to using double-quotes indiscriminately enough that hacker
- usage appears marked [and, in fact, I thought this was a personal quirk
- of mine until I checked with USENET --- ESR]. One further permutation
- that is definitely *not* standard is a hackish tendency to do marking
- quotes by using apostrophes (single quotes) in pairs; that is, 'like
- this'. This is modelled on string and character literal syntax in some
- programming languages (reinforced by the fact that many character-only
- terminals display the apostrophe in typewriter style, as a vertical
- single quote).
-
- One quirk that shows up frequently in the {email} style of UNIX hackers
- in particular is a tendency for some things that are normally
- all-lowercase (including usernames and the names of commands and C
- routines) to remain uncapitalized even when they occur at the beginning
- of sentences. It is clear that, for many hackers, the case of such
- identifiers becomes a part of their internal representation (the
- `spelling') and cannot be overridden without mental effort (an
- appropriate reflex because UNIX and C both distinguish cases and
- confusing them can lead to {lossage}). A way of escaping this dilemma
- is simply to avoid using these constructions at the beginning of
- sentences.
-
- There seems to be a meta-rule behind these nonstandard hackerisms to the
- effect that precision of expression is more important than conformance
- to traditional rules; where the latter create ambiguity or lose
- information they can be discarded without a second thought. It is
- notable in this respect that other hackish inventions (for example, in
- vocabulary) also tend to carry very precise shades of meaning even when
- constructed to appear slangy and loose. In fact, to a hacker, the
- contrast between `loose' form and `tight' content in jargon is a
- substantial part of its humor!
-
- Hackers have also developed a number of punctuation and emphasis
- conventions adapted to single-font all-ASCII communications links, and
- these are occasionally carried over into written documents even when
- normal means of font changes, underlining, and the like are available.
-
- One of these is that TEXT IN ALL CAPS IS INTERPRETED AS `LOUD', and this
- becomes such an ingrained synesthetic reflex that a person who goes to
- caps-lock while in {talk mode} may be asked to "stop shouting, please,
- you're hurting my ears!".
-
- Also, it is common to use bracketing with unusual characters to signify
- emphasis. The asterisk is most common, as in "What the *hell*?" even
- though this interferes with the common use of the asterisk suffix as a
- footnote mark. The underscore is also common, suggesting underlining
- (this is particularly common with book titles; for example, "It is often
- alleged that Joe Haldeman wrote _The_Forever_War_ as a rebuttal to
- Robert Heinlein's earlier novel of the future military,
- _Starship_Troopers_."). Other forms exemplified by "=hell=", "\hell/",
- or "/hell/" are occasionally seen (it's claimed that in the last example
- the first slash pushes the letters over to the right to make them
- italic, and the second keeps them from falling over). Finally, words
- may also be emphasized L I K E T H I S, or by a series of carets (^)
- under them on the next line of the text.
-
- There is a semantic difference between *emphasis like this* (which
- emphasizes the phrase as a whole), and *emphasis* *like* *this* (which
- suggests the writer speaking very slowly and distinctly, as if to a
- very young child or a mentally impaired person). Bracketing a word with
- the `*' character may also indicate that the writer wishes readers to
- consider that an action is taking place or that a sound is being made.
- Examples: *bang*, *hic*, *ring*, *grin*, *kick*, *stomp*, *mumble*.
-
- Another habit is that of using angle-bracket enclosure to genericize a
- term; this derives from conventions used in {BNF}. Uses like the
- following are common:
-
- So this <ethnic> walks into a bar one day, and...
-
- There is also an accepted convention for `writing under erasure'; the
- text
-
- Be nice to this fool^H^H^H^Hgentleman, he's in from corporate HQ.
-
- would be read as "Be nice to this fool, I mean this gentleman...". This
- comes from the fact that the digraph ^H is often used as a print
- representation for a backspace. It parallels (and may have been
- influenced by) the ironic use of `slashouts' in science-fiction
- fanzines.
-
- In a formula, `*' signifies multiplication but two asterisks in a row
- are a shorthand for exponentiation (this derives from FORTRAN). Thus,
- one might write 2 ** 8 = 256.
-
- Another notation for exponentiation one sees more frequently uses the
- caret (^, ASCII 1011110); one might write instead `2^8 = 256'. This
- goes all the way back to Algol-60, which used the archaic ASCII
- `up-arrow' that later became the caret; this was picked up by Kemeny and
- Kurtz's original BASIC, which in turn influenced the design of the
- `bc(1)' and `dc(1)' UNIX tools, which have probably done most to
- reinforce the convention on USENET. The notation is mildly confusing to
- C programmers, because `^' means bitwise {XOR} in C. Despite this, it
- was favored 3:1 over ** in a late-1990 snapshot of USENET. It is used
- consistently in this text.
-
- In on-line exchanges, hackers tend to use decimal forms or improper
- fractions (`3.5' or `7/2') rather than `typewriter style' mixed
- fractions (`3-1/2'). The major motive here is probably that the former
- are more readable in a monospaced font, together with a desire to avoid
- the risk that the latter might be read as `three minus one-half'. The
- decimal form is definitely preferred for fractions with a terminating
- decimal representation; there may be some cultural influence here from
- the high status of scientific notation.
-
- Another on-line convention, used especially for very large or very small
- numbers, is taken from C (which derived it from FORTRAN). This is a
- form of `scientific notation' using `e' to replace `*10^'; for example,
- one year is about 3e7 seconds long.
-
- The tilde (~) is commonly used in a quantifying sense of
- `approximately'; that is, `~50' means `about fifty'.
-
- On USENET and in the {MUD} world, common C boolean, logical, and
- relational operators such as `|', `&', `||', `&&', `!', `==', `!=', `>',
- `<', `>=', and `=<' are often combined with English. The Pascal
- not-equals, `<>', is also recognized, and occasionally one sees `/=' for
- not-equals (from Ada, Common Lisp, and Fortran 90). The use of prefix
- `!' as a loose synonym for `not-' or `no-' is particularly common; thus,
- `!clue' is read `no-clue' or `clueless'.
-
- A related practice borrows syntax from preferred programming languages
- to express ideas in a natural-language text. For example, one might
- see the following:
-
- In <jrh578689@thudpucker.com> J. R. Hacker wrote:
- >I resently had occasion to field-test the Snafu
- >Systems 2300E adaptive gonkulator. The price was
- >right, and the racing stripe on the case looked
- >kind of neat, but its performance left something
- >to be desired.
-
- Yeah, I tried one out too.
-
- #ifdef FLAME
- Hasn't anyone told those idiots that you can't get
- decent bogon suppression with AFJ filters at today's
- net volumes?
- #endif /* FLAME */
-
- I guess they figured the price premium for true
- frame-based semantic analysis was too high.
- Unfortunately, it's also the only workable approach.
- I wouldn't recommend purchase of this product unless
- you're on a *very* tight budget.
-
- #include <disclaimer.h>
- --
- == Frank Foonly (Fubarco Systems)
-
- In the above, the `#ifdef'/`#endif' pair is a conditional compilation
- syntax from C; here, it implies that the text between (which is a
- {flame}) should be evaluated only if you have turned on (or defined on)
- the switch FLAME. The `#include' at the end is C for "include standard
- disclaimer here"; the `standard disclaimer' is understood to read,
- roughly, "These are my personal opinions and not to be construed as the
- official position of my employer."
-
- The top section in the example, with > at the left margin, is an example
- of an inclusion convention we'll discuss below.
-
- Hackers also mix letters and numbers more freely than in mainstream
- usage. In particular, it is good hackish style to write a digit
- sequence where you intend the reader to understand the text string that
- names that number in English. So, hackers prefer to write `1970s'
- rather than `nineteen-seventies' or `1970's' (the latter looks like a
- possessive).
-
- It should also be noted that hackers exhibit much less reluctance to use
- multiply nested parentheses than is normal in English. Part of this is
- almost certainly due to influence from LISP (which uses deeply nested
- parentheses (like this (see?)) in its syntax a lot), but it has also
- been suggested that a more basic hacker trait of enjoying playing with
- complexity and pushing systems to their limits is in operation.
-
- Finally, it is worth mentioning that many studies of on-line
- communication have shown that electronic links have a de-inhibiting
- effect on people. Deprived of the body-language cues through which
- emotional state is expressed, people tend to forget everything about
- other parties except what is presented over that ASCII link. This has
- both good and bad effects. A good one is that it encourages honesty and
- tends to break down hierarchical authority relationships; a bad one is
- that it may encourage depersonalization and gratuitous rudeness.
- Perhaps in response to this, experienced netters often display a sort of
- conscious formal politesse in their writing that has passed out of
- fashion in other spoken and written media (for example, the phrase "Well
- said, sir!" is not uncommon).
-
- Many introverted hackers who are next to inarticulate in person
- communicate with considerable fluency over the net, perhaps precisely
- because they can forget on an unconscious level that they are dealing
- with people and thus don't feel stressed and anxious as they would face
- to face.
-
- Though it is considered gauche to publicly criticize posters for poor
- spelling or grammar, the network places a premium on literacy and
- clarity of expression. It may well be that future historians of
- literature will see in it a revival of the great tradition of personal
- letters as art.
-
- :Email Quotes and Inclusion Conventions:
- ========================================
-
- One area where hackish conventions for on-line writing are still in some
- flux is the marking of included material from earlier messages --- what
- would be called `block quotations' in ordinary English. From the usual
- typographic convention employed for these (smaller font at an extra
- indent), there derived the notation of included text being indented by
- one ASCII TAB (0001001) character, which under UNIX and many other
- environments gives the appearance of an 8-space indent.
-
- Early mail and netnews readers had no facility for including messages
- this way, so people had to paste in copy manually. BSD `Mail(1)' was
- the first message agent to support inclusion, and early USENETters
- emulated its style. But the TAB character tended to push included text
- too far to the right (especially in multiply nested inclusions), leading
- to ugly wraparounds. After a brief period of confusion (during which an
- inclusion leader consisting of three or four spaces became established
- in EMACS and a few mailers), the use of leading `>' or `> ' became
- standard, perhaps owing to its use in `ed(1)' to display tabs
- (alternatively, it may derive from the `>' that some early UNIX mailers
- used to quote lines starting with "From" in text, so they wouldn't look
- like the beginnings of new message headers). Inclusions within
- inclusions keep their `>' leaders, so the `nesting level' of a quotation
- is visually apparent.
-
- The practice of including text from the parent article when posting a
- followup helped solve what had been a major nuisance on USENET: the fact
- that articles do not arrive at different sites in the same order.
- Careless posters used to post articles that would begin with, or even
- consist entirely of, "No, that's wrong" or "I agree" or the like. It
- was hard to see who was responding to what. Consequently, around 1984,
- new news-posting software evolved a facility to automatically include
- the text of a previous article, marked with "> " or whatever the poster
- chose. The poster was expected to delete all but the relevant lines.
- The result has been that, now, careless posters post articles containing
- the *entire* text of a preceding article, *followed* only by "No, that's
- wrong" or "I agree".
-
- Many people feel that this cure is worse than the original disease, and
- there soon appeared newsreader software designed to let the reader skip
- over included text if desired. Today, some posting software rejects
- articles containing too high a proportion of lines beginning with `>'
- --- but this too has led to undesirable workarounds, such as the
- deliberate inclusion of zero-content filler lines which aren't quoted
- and thus pull the message below the rejection threshold.
-
- Because the default mailers supplied with UNIX and other operating
- systems haven't evolved as quickly as human usage, the older conventions
- using a leading TAB or three or four spaces are still alive; however,
- >-inclusion is now clearly the prevalent form in both netnews and mail.
-
- In 1991 practice is still evolving, and disputes over the `correct'
- inclusion style occasionally lead to {holy wars}. One variant style
- reported uses the citation character `|' in place of `>' for extended
- quotations where original variations in indentation are being retained.
- One also sees different styles of quoting a number of authors in the
- same message: one (deprecated because it loses information) uses a
- leader of `> ' for everyone, another (the most common) is `> > > > ', `>
- > > ', etc. (or `>>>> ', `>>> ', etc., depending on line length and
- nesting depth) reflecting the original order of messages, and yet
- another is to use a different citation leader for each author, say `> ',
- `: ', `| ', `} ' (preserving nesting so that the inclusion order of
- messages is still apparent, or tagging the inclusions with authors'
- names). Yet *another* style is to use each poster's initials (or login
- name) as a citation leader for that poster. Occasionally one sees a `#
- ' leader used for quotations from authoritative sources such as
- standards documents; the intended allusion is to the root prompt (the
- special UNIX command prompt issued when one is running as the privileged
- super-user).
-
- :Hacker Speech Style:
- =====================
-
- Hackish speech generally features extremely precise diction, careful
- word choice, a relatively large working vocabulary, and relatively
- little use of contractions or street slang. Dry humor, irony, puns, and
- a mildly flippant attitude are highly valued --- but an underlying
- seriousness and intelligence are essential. One should use just enough
- jargon to communicate precisely and identify oneself as a member of the
- culture; overuse of jargon or a breathless, excessively gung-ho attitude
- is considered tacky and the mark of a loser.
-
- This speech style is a variety of the precisionist English normally
- spoken by scientists, design engineers, and academics in technical
- fields. In contrast with the methods of jargon construction, it is
- fairly constant throughout hackerdom.
-
- It has been observed that many hackers are confused by negative
- questions --- or, at least, that the people to whom they are talking are
- often confused by the sense of their answers. The problem is that they
- have done so much programming that distinguishes between
-
- if (going) ...
-
- and
-
- if (!going) ...
-
- that when they parse the question "Aren't you going?" it seems to be
- asking the opposite question from "Are you going?", and so merits an
- answer in the opposite sense. This confuses English-speaking
- non-hackers because they were taught to answer as though the negative
- part weren't there. In some other languages (including Russian,
- Chinese, and Japanese) the hackish interpretation is standard and the
- problem wouldn't arise. Hackers often find themselves wishing for a
- word like French `si' or German `doch' with which one could
- unambiguously answer `yes' to a negative question.
-
- For similar reasons, English-speaking hackers almost never use double
- negatives, even if they live in a region where colloquial usage allows
- them. The thought of uttering something that logically ought to be an
- affirmative knowing it will be misparsed as a negative tends to disturb
- them.
-
- In a related vein, hackers sometimes make a game of answering
- questions containing logical connectives with a strictly literal
- rather than colloquial interpretation. A non-hacker who is indelicate
- enough to ask a question like "So, are you working on finding that
- bug *now* or leaving it until later?" is likely to get the
- perfectly correct answer "Yes!" (that is, "Yes, I'm doing it either
- now or later, and you didn't ask which!").
-
- :International Style:
- =====================
-
- Although the Jargon File remains primarily a lexicon of hacker usage in
- American English, we have made some effort to get input from abroad.
- Though the hacker-speak of other languages often uses translations of
- jargon from English (often as transmitted to them by earlier Jargon File
- versions!), the local variations are interesting, and knowledge of them
- may be of some use to travelling hackers.
-
- There are some references herein to `Commonwealth English'. These are
- intended to describe some variations in hacker usage as reported in the
- English spoken in Great Britain and the Commonwealth (Canada, Australia,
- India, etc. --- though Canada is heavily influenced by American usage).
- There is also an entry on {{Commonwealth Hackish}} reporting some
- general phonetic and vocabulary differences from U.S. hackish.
-
- Hackers in Western Europe and (especially) Scandinavia report that they
- often use a mixture of English and their native languages for technical
- conversation. Occasionally they develop idioms in their English usage
- that are influenced by their native-language styles. Some of these are
- reported here.
-
- A few notes on hackish usages in Russian have been added where they are
- parallel with English idioms and thus comprehensible to
- English-speakers.
-
- :How to Use the Lexicon:
- ************************
-
- :Pronunciation Guide:
- =====================
-
- Pronunciation keys are provided in the jargon listings for all entries
- that are neither dictionary words pronounced as in standard English nor
- obvious compounds thereof. Slashes bracket phonetic pronunciations,
- which are to be interpreted using the following conventions:
-
- 1. Syllables are hyphen-separated, except that an accent or back-accent
- follows each accented syllable (the back-accent marks a secondary
- accent in some words of four or more syllables).
-
- 2. Consonants are pronounced as in American English. The letter `g' is
- always hard (as in "got" rather than "giant"); `ch' is soft
- ("church" rather than "chemist"). The letter `j' is the sound
- that occurs twice in "judge". The letter `s' is always as in
- "pass", never a z sound. The digraph `kh' is the guttural of
- "loch" or "l'chaim". The digraph 'gh' is the aspirated g+h of
- "bughouse" or "ragheap" (rare in English).
-
- 3. Uppercase letters are pronounced as their English letter names; thus
- (for example) /H-L-L/ is equivalent to /aitch el el/. /Z/ may
- be pronounced /zee/ or /zed/ depending on your local dialect.
-
- 4. Vowels are represented as follows:
-
- a
- back, that
- ar
- far, mark
- aw
- flaw, caught
- ay
- bake, rain
- e
- less, men
- ee
- easy, ski
- eir
- their, software
- i
- trip, hit
- i:
- life, sky
- o
- father, palm
- oh
- flow, sew
- oo
- loot, through
- or
- more, door
- ow
- out, how
- oy
- boy, coin
- uh
- but, some
- u
- put, foot
- y
- yet, young
- yoo
- few, chew
- [y]oo
- /oo/ with optional fronting as in `news' (/nooz/ or /nyooz/)
-
- A /*/ is used for the `schwa' sound of unstressed or occluded vowels
- (the one that is often written with an upside-down `e'). The schwa
- vowel is omitted in syllables containing vocalic r, l, m or n; that is,
- `kitten' and `color' would be rendered /kit'n/ and /kuhl'r/, not
- /kit'*n/ and /kuhl'*r/.
-
- Note that the above table reflects only distinctions found in standard
- American English (that is, the neutral dialect spoken by TV network
- announcers and typical of educated speech in the Upper Midwest, Chicago,
- Minneapolis/St.Paul and Philadelphia). Many American and British
- dialects make different distinctions. One that's caused particular
- comment is that our /o/ represents two different sounds in most other
- dialects, one of which is often rendered as /ah/.
-
- Entries with a pronunciation of `//' are written-only usages. (No, UNIX
- weenies, this does *not* mean `pronounce like previous pronunciation'!)
-
- :Other Lexicon Conventions:
- ===========================
-
- Entries are sorted in case-blind ASCII collation order (rather than the
- letter-by-letter order ignoring interword spacing common in mainstream
- dictionaries), except that all entries beginning with nonalphabetic
- characters are sorted after Z. The case-blindness is a feature, not a
- bug.
-
- The beginning of each entry is marked by a colon (`:') at the
- left margin. This convention helps out tools like hypertext browsers
- that benefit from knowing where entry boundaries are, but aren't as
- context-sensitive as humans.
-
- In pure ASCII renderings of the Jargon File, you will see {} used to
- bracket words which themselves have entries in the File. This isn't
- done all the time for every such word, but it is done everywhere that a
- reminder seems useful that the term has a jargon meaning and one might
- wish to refer to its entry.
-
- In this all-ASCII version, headwords for topic entries are distinguished
- from those for ordinary entries by being followed by "::" rather than
- ":"; similarly, references are surrounded by "{{" and "}}" rather than
- "{" and "}".
-
- Defining instances of terms and phrases appear in `slanted type'. A
- defining instance is one which occurs near to or as part of an
- explanation of it.
-
- Prefix ** is used as linguists do; to mark examples of incorrect usage.
-
- We follow the `logical' quoting convention described in the Writing
- Style section above. In addition, we reserve double quotes for actual
- excerpts of text or (sometimes invented) speech. Scare quotes (which
- mark a word being used in a nonstandard way), and philosopher's quotes
- (which turn an utterance into the string of letters or words that name
- it) are both rendered with single quotes.
-
- References such as `malloc(3)' and `patch(1)' are to UNIX facilities
- (some of which, such as `patch(1)', are actually freeware distributed
- over USENET). The UNIX manuals use `foo(n)' to refer to item foo in
- section (n) of the manual, where n=1 is utilities, n=2 is system calls,
- n=3 is C library routines, n=6 is games, and n=8 (where present) is
- system administration utilities. Sections 4, 5, and 7 of the manuals
- have changed roles frequently and in any case are not referred to in any
- of the entries.
-
- Various abbreviations used frequently in the lexicon are summarized here:
-
- abbrev.
- abbreviation
- adj.
- adjective
- adv.
- adverb
- alt.
- alternate
- cav.
- caveat
- esp.
- especially
- excl.
- exclamation
- imp.
- imperative
- interj.
- interjection
- n.
- noun
- obs.
- obsolete
- pl.
- plural
- poss.
- possibly
- pref.
- prefix
- prob.
- probably
- prov.
- proverbial
- quant.
- quantifier
- suff.
- suffix
- syn.
- synonym (or synonymous with)
- v.
- verb (may be transitive or intransitive)
- var.
- variant
- vi.
- intransitive verb
- vt.
- transitive verb
-
- Where alternate spellings or pronunciations are given, alt.
- separates two possibilities with nearly equal distribution, while
- var. prefixes one that is markedly less common than the primary.
-
- Where a term can be attributed to a particular subculture or is known
- to have originated there, we have tried to so indicate. Here is a
- list of abbreviations used in etymologies:
-
- Berkeley
- University of California at Berkeley
- Cambridge
- the university in England (*not* the city in Massachusetts where
- MIT happens to be located!)
- BBN
- Bolt, Beranek & Newman
- CMU
- Carnegie-Mellon University
- Commodore
- Commodore Business Machines
- DEC
- The Digital Equipment Corporation
- Fairchild
- The Fairchild Instruments Palo Alto development group
- Fidonet
- See the {Fidonet} entry
- IBM
- International Business Machines
- MIT
- Massachusetts Institute of Technology; esp. the legendary MIT AI Lab
- culture of roughly 1971 to 1983 and its feeder groups, including the
- Tech Model Railroad Club
- NRL
- Naval Research Laboratories
- NYU
- New York University
- OED
- The Oxford English Dictionary
- Purdue
- Purdue University
- SAIL
- Stanford Artificial Intelligence Laboratory (at Stanford
- University)
- SI
- From Syst`eme International, the name for the standard
- conventions of metric nomenclature used in the sciences
- Stanford
- Stanford University
- Sun
- Sun Microsystems
- TMRC
- Some MITisms go back as far as the Tech Model Railroad Club (TMRC) at
- MIT c. 1960. Material marked TMRC is from `An Abridged Dictionary
- of the TMRC Language', originally compiled by Pete Samson in 1959
- UCLA
- University of California at Los Angeles
- UK
- the United Kingdom (England, Wales, Scotland, Northern Ireland)
- USENET
- See the {USENET} entry
- WPI
- Worcester Polytechnic Institute, site of a very active community of
- PDP-10 hackers during the 1970s
- XEROX PARC
- XEROX's Palo Alto Research Center, site of much pioneering research in
- user interface design and networking
- Yale
- Yale University
-
- Some other etymology abbreviations such as {UNIX} and {PDP-10}
- refer to technical cultures surrounding specific operating systems,
- processors, or other environments. The fact that a term is labelled
- with any one of these abbreviations does not necessarily mean its use
- is confined to that culture. In particular, many terms labelled `MIT'
- and `Stanford' are in quite general use. We have tried to give some
- indication of the distribution of speakers in the usage notes;
- however, a number of factors mentioned in the introduction conspire to
- make these indications less definite than might be desirable.
-
- A few new definitions attached to entries are marked [proposed].
- These are usually generalizations suggested by editors or USENET
- respondents in the process of commenting on previous definitions of
- those entries. These are *not* represented as established
- jargon.
-
- :Format For New Entries:
- ========================
-
- All contributions and suggestions about the Jargon File will be
- considered donations to be placed in the public domain as part of this
- File, and may be used in subsequent paper editions. Submissions may
- be edited for accuracy, clarity and concision.
-
- Try to conform to the format already being used --- head-words
- separated from text by a colon (double colon for topic entries),
- cross-references in curly brackets (doubled for topic entries),
- pronunciations in slashes, etymologies in square brackets,
- single-space after definition numbers and word classes, etc. Stick to
- the standard ASCII character set (7-bit printable, no high-half
- characters or [nt]roff/TeX/Scribe escapes), as one of the versions
- generated from the master file is an info document that has to be
- viewable on a character tty.
-
- We are looking to expand the file's range of technical specialties covered.
- There are doubtless rich veins of jargon yet untapped in the scientific
- computing, graphics, and networking hacker communities; also in numerical
- analysis, computer architectures and VLSI design, language design, and many
- other related fields. Send us your jargon!
-
- We are *not* interested in straight technical terms explained by
- textbooks or technical dictionaries unless an entry illuminates
- `underground' meanings or aspects not covered by official histories.
- We are also not interested in `joke' entries --- there is a lot of
- humor in the file but it must flow naturally out of the explanations
- of what hackers do and how they think.
-
- It is OK to submit items of jargon you have originated if they have spread
- to the point of being used by people who are not personally acquainted with
- you. We prefer items to be attested by independent submission from two
- different sites.
-
- The Jargon File will be regularly maintained and re-posted from now on
- and will include a version number. Read it, pass it around,
- contribute --- this is *your* monument!
-
- The Jargon Lexicon
- ******************
-
- = A =
- =====
-
- :abbrev: /*-breev'/, /*-brev'/ n. Common abbreviation for
- `abbreviation'.
-
- :ABEND: [ABnormal END] /o'bend/, /*-bend'/ n. Abnormal
- termination (of software); {crash}; {lossage}. Derives from an
- error message on the IBM 360; used jokingly by hackers but
- seriously mainly by {code grinder}s. Usually capitalized, but may
- appear as `abend'. Hackers will try to persuade you that ABEND is
- called `abend' because it is what system operators do to the
- machine late on Friday when they want to call it a day, and hence
- is from the German `Abend' = `Evening'.
-
- :accumulator: n. 1. Archaic term for a register. On-line use of it
- as a synonym for `register' is a fairly reliable indication that
- the user has been around for quite a while and/or that the
- architecture under discussion is quite old. The term in full is
- almost never used of microprocessor registers, for example, though
- symbolic names for arithmetic registers beginning in `A' derive
- from historical use of the term `accumulator' (and not, actually,
- from `arithmetic'). Confusingly, though, an `A' register name
- prefix may also stand for `address', as for example on the
- Motorola 680x0 family. 2. A register being used for arithmetic or
- logic (as opposed to addressing or a loop index), especially one
- being used to accumulate a sum or count of many items. This use is
- in context of a particular routine or stretch of code. "The
- FOOBAZ routine uses A3 as an accumulator." 3. One's in-basket
- (esp. among old-timers who might use sense 1). "You want this
- reviewed? Sure, just put it in the accumulator." (See {stack}.)
-
- :ACK: /ak/ interj. 1. [from the ASCII mnemonic for 0000110]
- Acknowledge. Used to register one's presence (compare mainstream
- *Yo!*). An appropriate response to {ping} or {ENQ}.
- 2. [from the comic strip "Bloom County"] An exclamation of
- surprised disgust, esp. in "Ack pffft!" Semi-humorous.
- Generally this sense is not spelled in caps (ACK) and is
- distinguished by a following exclamation point. 3. Used to
- politely interrupt someone to tell them you understand their point
- (see {NAK}). Thus, for example, you might cut off an overly
- long explanation with "Ack. Ack. Ack. I get it now".
-
- There is also a usage "ACK?" (from sense 1) meaning "Are you
- there?", often used in email when earlier mail has produced no
- reply, or during a lull in {talk mode} to see if the person has
- gone away (the standard humorous response is of course {NAK}
- (sense 2), i.e., "I'm not here").
-
- :ad-hockery: /ad-hok'*r-ee/ [Purdue] n. 1. Gratuitous assumptions
- made inside certain programs, esp. expert systems, which lead to
- the appearance of semi-intelligent behavior but are in fact
- entirely arbitrary. For example, fuzzy-matching against input
- tokens that might be typing errors against a symbol table can make
- it look as though a program knows how to spell. 2. Special-case
- code to cope with some awkward input that would otherwise cause a
- program to {choke}, presuming normal inputs are dealt with in
- some cleaner and more regular way. Also called `ad-hackery',
- `ad-hocity' (/ad-hos'*-tee/), `ad-crockery'. See also
- {ELIZA effect}.
-
- :Ada:: n. A {{Pascal}}-descended language that has been made
- mandatory for Department of Defense software projects by the
- Pentagon. Hackers are nearly unanimous in observing that,
- technically, it is precisely what one might expect given that kind
- of endorsement by fiat; designed by committee, crockish, difficult
- to use, and overall a disastrous, multi-billion-dollar boondoggle
- (one common description is "The PL/I of the 1980s"). Hackers
- find Ada's exception-handling and inter-process communication
- features particularly hilarious. Ada Lovelace (the daughter of
- Lord Byron who became the world's first programmer while
- cooperating with Charles Babbage on the design of his mechanical
- computing engines in the mid-1800s) would almost certainly blanch
- at the use to which her name has latterly been put; the kindest
- thing that has been said about it is that there is probably a good
- small language screaming to get out from inside its vast,
- {elephantine} bulk.
-
- :adger: /aj'r/ [UCLA] vt. To make a bonehead move with
- consequences that could have been foreseen with even slight mental
- effort. E.g., "He started removing files and promptly adgered the
- whole project". Compare {dumbass attack}.
-
- :admin: /ad-min'/ n. Short for `administrator'; very commonly
- used in speech or on-line to refer to the systems person in charge
- on a computer. Common constructions on this include `sysadmin'
- and `site admin' (emphasizing the administrator's role as a site
- contact for email and news) or `newsadmin' (focusing specifically
- on news). Compare {postmaster}, {sysop}, {system
- mangler}.
-
- :ADVENT: /ad'vent/ n. The prototypical computer adventure game, first
- implemented on the {PDP-10} by Will Crowther as an attempt at
- computer-refereed fantasy gaming, and expanded into a
- puzzle-oriented game by Don Woods. Now better known as Adventure,
- but the {{TOPS-10}} operating system permitted only six-letter
- filenames. See also {vadding}.
-
- This game defined the terse, dryly humorous style now expected in
- text adventure games, and popularized several tag lines that have
- become fixtures of hacker-speak: "A huge green fierce snake bars
- the way!" "I see no X here" (for some noun X). "You are in a
- maze of twisty little passages, all alike." "You are in a little
- maze of twisty passages, all different." The `magic words'
- {xyzzy} and {plugh} also derive from this game.
-
- Crowther, by the way, participated in the exploration of the
- Mammoth & Flint Ridge cave system; it actually *has* a
- `Colossal Cave' and a `Bedquilt' as in the game, and the `Y2' that
- also turns up is cavers' jargon for a map reference to a secondary
- entrance.
-
- :AFJ: // n. Written-only abbreviation for "April Fool's Joke".
- Elaborate April Fool's hoaxes are a long-established tradition on
- USENET and Internet; see {kremvax} for an example. In fact,
- April Fool's Day is the *only* seasonal holiday marked by
- customary observances on the hacker networks.
-
- :AI: /A-I/ n. Abbreviation for `Artificial Intelligence', so
- common that the full form is almost never written or spoken among
- hackers.
-
- :AI-complete: /A-I k*m-pleet'/ [MIT, Stanford: by analogy with
- `NP-complete' (see {NP-})] adj. Used to describe problems or
- subproblems in AI, to indicate that the solution presupposes a
- solution to the `strong AI problem' (that is, the synthesis of a
- human-level intelligence). A problem that is AI-complete is, in
- other words, just too hard.
-
- Examples of AI-complete problems are `The Vision Problem'
- (building a system that can see as well as a human) and `The
- Natural Language Problem' (building a system that can understand
- and speak a natural language as well as a human). These may appear
- to be modular, but all attempts so far (1993) to solve them have
- foundered on the amount of context information and `intelligence'
- they seem to require. See also {gedanken}.
-
- :AI koans: /A-I koh'anz/ pl.n. A series of pastiches of Zen
- teaching riddles created by Danny Hillis at the MIT AI Lab around
- various major figures of the Lab's culture (several are included
- under "{A Selection of AI Koans}" in {Appendix
- A}). See also {ha ha only serious}, {mu}, and {{Humor,
- Hacker}}.
-
- :AIDS: /aydz/ n. Short for A* Infected Disk Syndrome (`A*' is a
- {glob} pattern that matches, but is not limited to, Apple),
- this condition is quite often the result of practicing unsafe
- {SEX}. See {virus}, {worm}, {Trojan horse},
- {virgin}.
-
- :AIDX: n. /aydkz/ n. Derogatory term for IBM's perverted version
- of UNIX, AIX, especially for the AIX 3.? used in the IBM RS/6000
- series. A victim of the dreaded "hybridism" disease, this
- attempt to combine the two main currents of the UNIX stream
- ({BSD} and {USG UNIX}) became a {monstrosity} to haunt
- system administrators' dreams. For example, if new accounts are
- created while many users are logged on, the load average jumps
- quickly over 20 due to silly implementation of the user databases.
- For a quite similar disease, compare {HP-SUX}. Also, compare
- {terminak}, {Macintrash} {Nominal Semidestructor},
- {Open DeathTrap}, {ScumOS}, {sun-stools}.
-
- :airplane rule: n. "Complexity increases the possibility of
- failure; a twin-engine airplane has twice as many engine problems
- as a single-engine airplane." By analogy, in both software and
- electronics, the rule that simplicity increases robustness. It is
- correspondingly argued that the right way to build reliable systems
- is to put all your eggs in one basket, after making sure that
- you've built a really *good* basket. See also {KISS
- Principle}.
-
- :aliasing bug: n. A class of subtle programming errors that can
- arise in code that does dynamic allocation, esp. via
- `malloc(3)' or equivalent. If several pointers address
- (`aliases for') a given hunk of storage, it may happen that the
- storage is freed or reallocated (and thus moved) through one alias
- and then referenced through another, which may lead to subtle (and
- possibly intermittent) lossage depending on the state and the
- allocation history of the malloc {arena}. Avoidable by use of
- allocation strategies that never alias allocated core, or by use of
- higher-level languages, such as {LISP}, which employ a garbage
- collector (see {GC}). Also called a {stale pointer bug}.
- See also {precedence lossage}, {smash the stack},
- {fandango on core}, {memory leak}, {memory smash},
- {overrun screw}, {spam}.
-
- Historical note: Though this term is nowadays associated with
- C programming, it was already in use in a very similar sense in the
- Algol-60 and FORTRAN communities in the 1960s.
-
- :all-elbows: [MS-DOS] adj. Of a TSR (terminate-and-stay-resident)
- IBM PC program, such as the N pop-up calendar and calculator
- utilities that circulate on {BBS} systems: unsociable. Used to
- describe a program that rudely steals the resources that it needs
- without considering that other TSRs may also be resident. One
- particularly common form of rudeness is lock-up due to programs
- fighting over the keyboard interrupt. See {rude}, also
- {mess-dos}.
-
- :alpha particles: n. See {bit rot}.
-
- :alt: /awlt/ 1. n. The alt shift key on an IBM PC or {clone}
- keyboard; see {bucky bits}, sense 2 (though typical PC usage does
- not simply set the 0200 bit). 2. n. The `clover' or `Command'
- key on a Macintosh; use of this term usually reveals that the
- speaker hacked PCs before coming to the Mac (see also {feature
- key}). Some Mac hackers, confusingly, reserve `alt' for the Option
- key (and it is so labeled on some Mac II keyboards). 3. n.obs.
- [PDP-10; often capitalized to ALT] Alternate name for the ASCII
- ESC character (ASCII 0011011), after the keycap labeling on some
- older terminals; also `altmode' (/awlt'mohd/). This character
- was almost never pronounced `escape' on an ITS system, in
- {TECO}, or under TOPS-10 --- always alt, as in "Type alt alt to
- end a TECO command" or "alt-U onto the system" (for "log onto
- the [ITS] system"). This usage probably arose because alt is more
- convenient to say than `escape', especially when followed by
- another alt or a character (or another alt *and* a character,
- for that matter).
-
- :alt bit: /awlt bit/ [from alternate] adj. See {meta bit}.
-
- :altmode: n. Syn. {alt} sense 3.
-
- :Aluminum Book: [MIT] n. `Common LISP: The Language', by
- Guy L. Steele Jr. (Digital Press, first edition 1984, second
- edition 1990). Note that due to a technical screwup some printings
- of the second edition are actually of a color the author describes
- succinctly as "yucky green". See also {{book titles}}.
-
- :amoeba: n. Humorous term for the Commodore Amiga personal computer.
-
- :amp off: [Purdue] vt. To run in {background}. From the UNIX shell `&'
- operator.
-
- :amper: n. Common abbreviation for the name of the ampersand (`&',
- ASCII 0100110) character. See {{ASCII}} for other synonyms.
-
- :angle brackets: n. Either of the characters `<' (ASCII
- 0111100) and `>' (ASCII 0111110) (ASCII less-than or
- greater-than signs). Typographers in the {Real World} use angle
- brackets which are either taller and slimmer (the ISO `Bra' and
- `Ket' characters), or significantly smaller (single or double
- guillemets) than the less-than and greater-than signs.
- See {broket}, {{ASCII}}.
-
- :angry fruit salad: n. A bad visual-interface design that uses too
- many colors. (This term derives, of course, from the bizarre
- day-glo colors found in canned fruit salad.) Too often one sees
- similar effects from interface designers using color window systems
- such as {X}; there is a tendency to create displays that are
- flashy and attention-getting but uncomfortable for long-term
- use.
-
- :annoybot: /*-noy-bot/ [IRC] n. See {robot}.
-
- :AOS: 1. /aws/ (East Coast), /ay-os/ (West Coast) [based on a
- PDP-10 increment instruction] vt.,obs. To increase the amount of
- something. "AOS the campfire." Usage: considered silly, and now
- obsolete. Now largely supplanted by {bump}. See {SOS}.
- 2. n. A {{Multics}}-derived OS supported at one time by Data
- General. This was pronounced /A-O-S/ or /A-os/. A spoof of
- the standard AOS system administrator's manual (`How to Load
- and Generate your AOS System') was created, issued a part number,
- and circulated as photocopy folklore; it was called `How to
- Goad and Levitate your CHAOS System'. 3. n. Algebraic Operating
- System, in reference to those calculators which use infix instead
- of postfix (reverse Polish) notation.
-
- Historical note: AOS in sense 1 was the name of a {PDP-10}
- instruction that took any memory location in the computer and added
- 1 to it; AOS meant `Add One and do not Skip'. Why, you may ask,
- does the `S' stand for `do not Skip' rather than for `Skip'? Ah,
- here was a beloved piece of PDP-10 folklore. There were eight such
- instructions: AOSE added 1 and then skipped the next instruction
- if the result was Equal to zero; AOSG added 1 and then skipped if
- the result was Greater than 0; AOSN added 1 and then skipped
- if the result was Not 0; AOSA added 1 and then skipped Always;
- and so on. Just plain AOS didn't say when to skip, so it never
- skipped.
-
- For similar reasons, AOJ meant `Add One and do not Jump'. Even
- more bizarre, SKIP meant `do not SKIP'! If you wanted to skip the
- next instruction, you had to say `SKIPA'. Likewise, JUMP meant
- `do not JUMP'; the unconditional form was JUMPA. However, hackers
- never did this. By some quirk of the 10's design, the {JRST}
- (Jump and ReSTore flag with no flag specified) was actually faster
- and so was invariably used. Such were the perverse mysteries of
- assembler programming.
-
- :app: /ap/ n. Short for `application program', as opposed to a
- systems program. Apps are what systems vendors are forever chasing
- developers to create for their environments so they can sell more
- boxes. Hackers tend not to think of the things they themselves run
- as apps; thus, in hacker parlance the term excludes compilers,
- program editors, games, and messaging systems, though a user would
- consider all those to be apps. (Broadly, an app is often a
- self-contained environment for performing some well-defined task
- such as `word processing'; hackers tend to prefer more
- general-purpose tools.) Oppose {tool}, {operating
- system}.
-
- :arena: [UNIX] n. The area of memory attached to a process by
- `brk(2)' and `sbrk(2)' and used by `malloc(3)' as
- dynamic storage. So named from a `malloc: corrupt arena'
- message emitted when some early versions detected an impossible
- value in the free block list. See {overrun screw}, {aliasing
- bug}, {memory leak}, {memory smash}, {smash the
- stack}.
-
- :arg: /arg/ n. Abbreviation for `argument' (to a function),
- used so often as to have become a new word (like `piano' from
- `pianoforte'). "The sine function takes 1 arg, but the
- arc-tangent function can take either 1 or 2 args." Compare
- {param}, {parm}, {var}.
-
- :ARMM: [acronym, `Automated Retroactive Minimal Moderation'] n. A
- USENET robot created by Dick Depew of Munroe Falls, Ohio. It was
- intended to automatically cancel posts from anonymous-posting
- sites. Unfortunately, the robot's recognizer for anonymous
- postings triggered on its own automatically-generated control
- messages! Transformed by this stroke of programming ineptitude
- into a monster of Frankensteinian proportions, it broke loose on
- the night of March 31, 1993 and proceeded to spam
- news.admin.policy with a recursive explosion of over 200
- messages.
-
- ARMM's bug produced a recursive {cascade} of messages each of which
- mechanically added text to the ID and Subject and some other
- headers of its parent. This produced a flood of messages in which
- each header took up several screens and each message ID and subject
- line got longer and longer and longer.
-
- Reactions varied from amusememt to outrage. The pathological
- messages crashed at least one mail system, and upset people paying
- line charges for their USENET feeds. One poster described the ARMM
- debacle as "instant USENET history" (instantly establishing the
- term {despew}), and it has since been widely cited as a
- cautionary example of the havoc the combination of good intentions
- and incompetence can wreak on a network. Compare {Great Worm,
- The}; {sorcerer's apprentice mode}. See also {software
- laser}, {network meltdown}.
-
- :armor-plated: n. Syn. for {bulletproof}.
-
- :asbestos: adj. Used as a modifier to anything intended to protect
- one from {flame}s; also in other highly {flame}-suggestive
- usages. See, for example, {asbestos longjohns} and {asbestos
- cork award}.
-
- :asbestos cork award: n. Once, long ago at MIT, there was a
- {flamer} so consistently obnoxious that another hacker designed,
- had made, and distributed posters announcing that said flamer had
- been nominated for the `asbestos cork award'. (Any reader in
- doubt as to the intended application of the cork should consult the
- etymology under {flame}.) Since then, it is agreed that only a
- select few have risen to the heights of bombast required to earn
- this dubious dignity --- but there is no agreement on *which*
- few.
-
- :asbestos longjohns: n. Notional garments donned by {USENET}
- posters just before emitting a remark they expect will elicit
- {flamage}. This is the most common of the {asbestos}
- coinages. Also `asbestos underwear', `asbestos overcoat',
- etc.
-
- :ASCII:: [American Standard Code for Information Interchange]
- /as'kee/ n. The predominant character set encoding of present-day
- computers. he modern version uses 7 bits for each character,
- whereas most earlier codes (including an early version of ASCII)
- used fewer. This change allowed the inclusion of lowercase letters
- --- a major {win} --- but it did not provide for accented
- letters or any other letterforms not used in English (such as the
- German sharp-S
- or the ae-ligature
- which is a letter in, for example, Norwegian). It could be worse,
- though. It could be much worse. See {{EBCDIC}} to understand how.
-
- Computers are much pickier and less flexible about spelling than
- humans; thus, hackers need to be very precise when talking about
- characters, and have developed a considerable amount of verbal
- shorthand for them. Every character has one or more names --- some
- formal, some concise, some silly. Common jargon names for ASCII
- characters are collected here. See also individual entries for
- {bang}, {excl}, {open}, {ques}, {semi}, {shriek},
- {splat}, {twiddle}, and {Yu-Shiang Whole Fish}.
-
- This list derives from revision 2.3 of the USENET ASCII
- pronunciation guide. Single characters are listed in ASCII order;
- character pairs are sorted in by first member. For each character,
- common names are given in rough order of popularity, followed by
- names that are reported but rarely seen; official ANSI/CCITT names
- are surrounded by brokets: <>. Square brackets mark the
- particularly silly names introduced by {INTERCAL}. The
- abbreviations "l/r" and "o/c" stand for left/right and
- "open/close" respectively. Ordinary parentheticals provide some
- usage information.
-
- !
- Common: {bang}; pling; excl; shriek; <exclamation mark>.
- Rare: factorial; exclam; smash; cuss; boing; yell; wow; hey;
- wham; eureka; [spark-spot]; soldier.
-
- "
- Common: double quote; quote. Rare: literal mark;
- double-glitch; <quotation marks>; <dieresis>; dirk;
- [rabbit-ears]; double prime.
-
- #
- Common: number sign; pound; pound sign; hash; sharp; {crunch};
- hex; [mesh]. Rare: grid; cross-hatch; oc-to-thorpe; flash;
- <square>, pig-pen; tic-tac-toe; scratchmark; thud; thump;
- {splat}.
-
- $
- Common: dollar; <dollar sign>. Rare: currency symbol; buck;
- cash; string (from BASIC); escape (when used as the echo of
- ASCII ESC); ding; cache; [big money].
-
- %
- Common: percent; <percent sign>; mod; grapes. Rare:
- [double-oh-seven].
-
- &
- Common: <ampersand>; amper; and. Rare: address (from C);
- reference (from C++); andpersand; bitand; background (from
- `sh(1)'); pretzel; amp. [INTERCAL called this `ampersand';
- what could be sillier?]
-
- '
- Common: single quote; quote; <apostrophe>. Rare: prime;
- glitch; tick; irk; pop; [spark]; <closing single quotation
- mark>; <acute accent>.
-
- ( )
-
- Common: l/r paren; l/r parenthesis; left/right; o-pen-/-close;
- par-en/the-sis; o/c paren; o/c par-en-the-sis; l/r
- paren-the-sis; l/r ba-na-na. Rare: so/al-ready;
- lparen/rparen; <opening/closing parenthesis>; o/c round
- bracket, l/r round bracket, [wax/wane];
- par-en-this-ey/un-par-en-this-ey; l/r ear.
-
- *
- Common: star; [{splat}]; <asterisk>. Rare: wildcard; gear;
- dingle; mult; spider; aster; times; twinkle; glob (see
- {glob}); {Nathan Hale}.
-
- +
- Common: <plus>; add. Rare: cross; [intersection].
-
- ,
- Common: <comma>. Rare: <cedilla>; [tail].
-
- -
- Common: dash; <hyphen>; <minus>. Rare: [worm]; option; dak;
- bithorpe.
-
- .
- Common: dot; point; <period>; <decimal point>. Rare: radix
- point; full stop; [spot].
-
- /
- Common: slash; stroke; <slant>; forward slash. Rare:
- diagonal; solidus; over; slak; virgule; [slat].
-
- :
- Common: <colon>. Rare: dots; [two-spot].
-
- ;
- Common: <semicolon>; semi. Rare: weenie; [hybrid],
- pit-thwong.
-
- < >
- Common: <less/great-er than>; bra/ket; l/r angle; l/r angle
- bracket; l/r broket. Rare: from/{into, towards}; read
- from/write to; suck/blow; comes-from/gozinta; in/out;
- crunch/zap (all from UNIX); [angle/right angle].
-
- =
- Common: <equals>; gets; takes. Rare: quadrathorpe;
- [half-mesh].
-
- ?
- Common: query; <question mark>; {ques}. Rare: whatmark;
- [what]; wildchar; huh; hook; buttonhook; hunchback.
-
- @
- Common: at sign; at; strudel. Rare: each; vortex; whorl;
- [whirlpool]; cyclone; snail; ape; cat; rose; cabbage;
- <commercial at>.
-
- V
- Rare: [book].
-
- [ ]
- Common: l/r square bracket; l/r bracket; <opening/closing
- brack-et>; brack-et/un-brack-et. Rare: square-/-un-square; [U
- turn/U turn back].
-
- \
- Common: backslash; escape (from C/UNIX); reverse slash; slosh;
- backslant; backwhack. Rare: bash; <reverse slant>; reversed
- virgule; [backslat].
-
- ^
- Common: hat; control; uparrow; caret; <circumflex>. Rare:
- chevron; [shark (or shark-fin)]; to the (`to the power of');
- fang; pointer (in Pascal).
-
- _
- Common: <underline>; underscore; underbar; under. Rare:
- score; backarrow; skid; [flatworm].
-
- `
- Common: backquote; left quote; left single quote; open quote;
- <grave accent>; grave. Rare: backprime; [backspark];
- unapostrophe; birk; blugle; back tick; back glitch; push;
- <opening single quotation mark>; quasiquote.
-
- { }
- Common: o/c brace; l/r brace; l/r squiggly; l/r squiggly
- bracket/brace; l/r curly bracket/brace; <opening/closing
- brace>. Rare: brace/unbrace; curly/un-curly; leftit/rytit;
- l/r squirrelly; [embrace/bracelet].
-
- |
- Common: bar; or; or-bar; v-bar; pipe; vertical bar. Rare:
- <vertical line>; gozinta; thru; pipesinta (last three from
- UNIX); [spike].
-
- ~
- Common: <tilde>; squiggle; {twiddle}; not. Rare: approx;
- wiggle; swung dash; enyay; [sqiggle (sic)].
-
- The pronunciation of `#' as `pound' is common in the U.S.
- but a bad idea; {{Commonwealth Hackish}} has its own, rather more
- apposite use of `pound sign' (confusingly, on British keyboards
- the pound graphic
- happens to replace `#'; thus Britishers sometimes
- call `#' on a U.S.-ASCII keyboard `pound', compounding the
- American error). The U.S. usage derives from an old-fashioned
- commercial practice of using a `#' suffix to tag pound weights
- on bills of lading. The character is usually pronounced `hash'
- outside the U.S.
-
- The `uparrow' name for circumflex and `leftarrow' name for
- underline are historical relics from archaic ASCII (the 1963
- version), which had these graphics in those character positions
- rather than the modern punctuation characters.
-
- The `swung dash' or `approximation' sign is not quite the same
- as tilde in typeset material
- but the ASCII tilde serves for both (compare {angle
- brackets}).
-
- Some other common usages cause odd overlaps. The `#',
- `$', `>', and `&' characters, for example, are all
- pronounced "hex" in different communities because various
- assemblers use them as a prefix tag for hexadecimal constants (in
- particular, `#' in many assembler-programming cultures,
- `$' in the 6502 world, `>' at Texas Instruments, and
- `&' on the BBC Micro, Sinclair, and some Z80 machines). See
- also {splat}.
-
- The inability of ASCII text to correctly represent any of the
- world's other major languages makes the designers' choice of 7 bits
- look more and more like a serious {misfeature} as the use of
- international networks continues to increase (see {software
- rot}). Hardware and software from the U.S. still tends to embody
- the assumption that ASCII is the universal character set and that
- characters have 7 bits; this is a a major irritant to people who
- want to use a character set suited to their own languages.
- Perversely, though, efforts to solve this problem by proliferating
- `national' character sets produce an evolutionary pressure to use
- a *smaller* subset common to all those in use.
-
- :ASCII art: n. The fine art of drawing diagrams using the ASCII
- character set (mainly `|', `-', `/', `\', and
- `+'). Also known as `character graphics' or `ASCII
- graphics'; see also {boxology}. Here is a serious example:
-
-
- o----)||(--+--|<----+ +---------o + D O
- L )||( | | | C U
- A I )||( +-->|-+ | +-\/\/-+--o - T
- C N )||( | | | | P
- E )||( +-->|-+--)---+--)|--+-o U
- )||( | | | GND T
- o----)||(--+--|<----+----------+
-
- A power supply consisting of a full
- wave rectifier circuit feeding a
- capacitor input filter circuit
-
- Figure 1.
-
- And here are some very silly examples:
-
-
- |\/\/\/| ____/| ___ |\_/| ___
- | | \ o.O| ACK! / \_ |` '| _/ \
- | | =(_)= THPHTH! / \/ \/ \
- | (o)(o) U / \
- C _) (__) \/\/\/\ _____ /\/\/\/
- | ,___| (oo) \/ \/
- | / \/-------\ U (__)
- /____\ || | \ /---V `v'- oo )
- / \ ||---W|| * * |--| || |`. |_/\
-
- Figure 2.
-
- There is an important subgenre of humorous ASCII art that takes
- advantage of the names of the various characters to tell a
- pun-based joke.
-
- +--------------------------------------------------------+
- | ^^^^^^^^^^^^ |
- | ^^^^^^^^^^^ ^^^^^^^^^ |
- | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ |
- | ^^^^^^^ B ^^^^^^^^^ |
- | ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ |
- +--------------------------------------------------------+
- " A Bee in the Carrot Patch "
-
- Figure 3.
-
- Within humorous ASCII art, there is for some reason an entire
- flourishing subgenre of pictures of silly cows. Four of these are
- reproduced in Figure 2; here are three more:
-
-
- (__) (__) (__)
- (\/) ($$) (**)
- /-------\/ /-------\/ /-------\/
- / | 666 || / |=====|| / | ||
- * ||----|| * ||----|| * ||----||
- ~~ ~~ ~~ ~~ ~~ ~~
- Satanic cow This cow is a Yuppie Cow in love
-
- Figure 4.
-
- :ASCIIbetical order: /as'kee-be'-t*-kl or'dr/ adj.,n. Used to
- indicate that data is sorted in ASCII collated order rather than
- alphabetical order. This lexicon is sorted in something close to
- ASCIIbetical order, but with case ignored and entries beginning
- with non-alphabetic characters moved to the end.
-
- :atomic: [from Gk. `atomos', indivisible] adj. Indivisible;
- cannot be split up. For example, an instruction may be said to do
- several things `atomically', i.e., all the things are done
- immediately, and there is no chance of the instruction being
- half-completed. Esp. used to convey that an operation cannot be
- screwed up by interrupts. "This routine locks the file and
- increments the file's semaphore atomically." This usage has none
- of the connotations that `atomic' has in mainstream English (i.e.
- of particles of matter, nuclear explosions etc.).
-
- :attoparsec: n. About an inch. `atto-' is the standard SI
- prefix for multiplication by 10^(-18). A parsec
- (parallax-second) is 3.26 light-years; an attoparsec is thus
- 3.26 * 10^(-18) light years, or about 3.1 cm (thus,
- 1 attoparsec/{microfortnight} equals about 1 inch/sec). This
- unit is reported to be in use (though probably not very seriously)
- among hackers in the U.K. See {micro-}.
-
- :autobogotiphobia: /aw'to-boh-got`*-foh'bee-*/ n. See {bogotify}.
-
- :automagically: /aw-toh-maj'i-klee/ or /aw-toh-maj'i-k*l-ee/ adv.
- Automatically, but in a way that, for some reason (typically
- because it is too complicated, or too ugly, or perhaps even too
- trivial), the speaker doesn't feel like explaining to you. See
- {magic}. "The C-INTERCAL compiler generates C, then automagically
- invokes `cc(1)' to produce an executable."
-
- :avatar: [CMU, Tektronix] n. Syn. {root}, {superuser}. There
- are quite a few UNIX machines on which the name of the superuser
- account is `avatar' rather than `root'. This quirk was
- originated by a CMU hacker who disliked the term `superuser',
- and was propagated through an ex-CMU hacker at Tektronix.
-
- :awk: 1. n. [UNIX techspeak] An interpreted language for massaging
- text data developed by Alfred Aho, Peter Weinberger, and Brian
- Kernighan (the name derives from their initials). It is
- characterized by C-like syntax, a declaration-free approach to
- variable typing and declarations, associative arrays, and
- field-oriented text processing. See also {Perl}. 2. n.
- Editing term for an expression awkward to manipulate through normal
- {regexp} facilities (for example, one containing a
- {newline}). 3. vt. To process data using `awk(1)'.
-
- = B =
- =====
-
- :back door: n. A hole in the security of a system deliberately left
- in place by designers or maintainers. The motivation for such
- holes is not always sinister; some operating systems, for example,
- come out of the box with privileged accounts intended for use by
- field service technicians or the vendor's maintenance programmers.
- Syn. {trap door}; may also be called a `wormhole'. See also
- {iron box}, {cracker}, {worm}, {logic bomb}.
-
- Historically, back doors have often lurked in systems longer than
- anyone expected or planned, and a few have become widely known.
- The infamous {RTM} worm of late 1988, for example, used a back door
- in the {BSD} UNIX `sendmail(8)' utility.
-
- Ken Thompson's 1983 Turing Award lecture to the ACM revealed the
- existence of a back door in early UNIX versions that may have
- qualified as the most fiendishly clever security hack of all time.
- The C compiler contained code that would recognize when the
- `login' command was being recompiled and insert some code
- recognizing a password chosen by Thompson, giving him entry to the
- system whether or not an account had been created for him.
-
- Normally such a back door could be removed by removing it from the
- source code for the compiler and recompiling the compiler. But to
- recompile the compiler, you have to *use* the compiler --- so
- Thompson also arranged that the compiler would *recognize when
- it was compiling a version of itself*, and insert into the
- recompiled compiler the code to insert into the recompiled
- `login' the code to allow Thompson entry --- and, of course, the
- code to recognize itself and do the whole thing again the next time
- around! And having done this once, he was then able to recompile
- the compiler from the original sources; the hack perpetuated itself
- invisibly, leaving the back door in place and active but with no
- trace in the sources.
-
- The talk that revealed this truly moby hack was published as
- "Reflections on Trusting Trust", `Communications of the
- ACM 27', 8 (August 1984), pp. 761--763.
-
- :backbone cabal: n. A group of large-site administrators who pushed
- through the {Great Renaming} and reined in the chaos of {USENET}
- during most of the 1980s. The cabal {mailing list} disbanded in
- late 1988 after a bitter internal catfight.
-
- :backbone site: n. A key USENET and email site; one that processes
- a large amount of third-party traffic, especially if it is the home
- site of any of the regional coordinators for the USENET maps.
- Notable backbone sites as of early 1993 include uunet and the
- mail machines at Rutgers University, UC Berkeley, DEC's Western
- Research Laboratories, Ohio State University, and the University of
- Texas. Compare {rib site}, {leaf site}.
-
- :backgammon:: See {bignum} (sense 3), {moby} (sense 4), and
- {pseudoprime}.
-
- :background: n.,adj.,vt. To do a task `in background' is to do
- it whenever {foreground} matters are not claiming your undivided
- attention, and `to background' something means to relegate it to
- a lower priority. "For now, we'll just print a list of nodes and
- links; I'm working on the graph-printing problem in background."
- Note that this implies ongoing activity but at a reduced level or
- in spare time, in contrast to mainstream `back burner' (which
- connotes benign neglect until some future resumption of activity).
- Some people prefer to use the term for processing that they have
- queued up for their unconscious minds (a tack that one can often
- fruitfully take upon encountering an obstacle in creative work).
- Compare {amp off}, {slopsucker}.
-
- Technically, a task running in background is detached from the
- terminal where it was started (and often running at a lower
- priority); oppose {foreground}. Nowadays this term is primarily
- associated with {{UNIX}}, but it appears to have been first used
- in this sense on OS/360.
-
- :backspace and overstrike: interj. Whoa! Back up. Used to suggest
- that someone just said or did something wrong. Common among
- APL programmers.
-
- :backward combatability: /bak'w*rd k*m-bat'*-bil'*-tee/ [from
- `backward compatibility'] n. A property of hardware or software
- revisions in which previous protocols, formats, layouts, etc. are
- irrevocably discarded in favor of `new and improved' protocols,
- formats, and layouts, leaving the previous ones not merely
- deprecated but actively defeated. (Too often, the old and new
- versions cannot definitively be distinguished, such that lingering
- instances of the previous ones yield crashes or other infelicitous
- effects, as opposed to a simple "version mismatch" message.) A
- backwards compatible change, on the other hand, allows old versions
- to coexist without crashes or error messages, but too many major
- changes incorporating elaborate backwards compatibility processing
- can lead to extreme {software bloat}. See also {flag
- day}.
-
- :BAD: /B-A-D/ [IBM: acronym, `Broken As Designed'] adj. Said
- of a program that is {bogus} because of bad design and misfeatures
- rather than because of bugginess. See {working as designed}.
-
- :Bad Thing: [from the 1930 Sellar & Yeatman parody `1066 And
- All That'] n. Something that can't possibly result in improvement
- of the subject. This term is always capitalized, as in "Replacing
- all of the 9600-baud modems with bicycle couriers would be a Bad
- Thing". Oppose {Good Thing}. British correspondents confirm
- that {Bad Thing} and {Good Thing} (and prob. therefore {Right
- Thing} and {Wrong Thing}) come from the book referenced in the
- etymology, which discusses rulers who were Good Kings but Bad
- Things. This has apparently created a mainstream idiom on the
- British side of the pond.
-
- :bag on the side: n. An extension to an established hack that is
- supposed to add some functionality to the original. Usually
- derogatory, implying that the original was being overextended and
- should have been thrown away, and the new product is ugly,
- inelegant, or bloated. Also v. phrase, `to hang a bag on the side
- [of]'. "C++? That's just a bag on the side of C ...."
- "They want me to hang a bag on the side of the accounting
- system."
-
- :bagbiter: /bag'bi:t-*r/ n. 1. Something, such as a program or a
- computer, that fails to work, or works in a remarkably clumsy
- manner. "This text editor won't let me make a file with a line
- longer than 80 characters! What a bagbiter!" 2. A person who has
- caused you some trouble, inadvertently or otherwise, typically by
- failing to program the computer properly. Synonyms: {loser},
- {cretin}, {chomper}. 3. adj. `bagbiting' Having the
- quality of a bagbiter. "This bagbiting system won't let me
- compute the factorial of a negative number." Compare {losing},
- {cretinous}, {bletcherous}, `barfucious' (under
- {barfulous}) and `chomping' (under {chomp}). 4. `bite
- the bag' vi. To fail in some manner. "The computer keeps crashing
- every five minutes." "Yes, the disk controller is really biting
- the bag." The original loading of these terms was almost
- undoubtedly obscene, possibly referring to the scrotum, but in
- their current usage they have become almost completely
- sanitized.
-
- A program called Lexiphage on the old MIT AI PDP-10 would draw on a
- selected victim's bitmapped terminal the words "THE BAG" in
- ornate letters, followed a pair of jaws biting pieces of it off.
- This is the first and to date only known example of a program
- *intended* to be a bagbiter.
-
- :bamf: /bamf/ 1. [from old X-Men comics] interj. Notional sound
- made by a person or object teleporting in or out of the hearer's
- vicinity. Often used in {virtual reality} (esp. {MUD})
- electronic {fora} when a character wishes to make a dramatic
- entrance or exit. 2. The sound of magical transformation, used in
- virtual reality {fora} like sense 1.
-
- :banana label: n. The labels often used on the sides of {macrotape}
- reels, so called because they are shaped roughly like blunt-ended
- bananas. This term, like macrotapes themselves, is still current
- but visibly headed for obsolescence.
-
- :banana problem: n. [from the story of the little girl who said "I
- know how to spell `banana', but I don't know when to stop"]. Not
- knowing where or when to bring a production to a close (compare
- {fencepost error}). One may say `there is a banana problem' of an
- algorithm with poorly defined or incorrect termination conditions,
- or in discussing the evolution of a design that may be succumbing
- to featuritis (see also {creeping elegance}, {creeping
- featuritis}). See item 176 under {HAKMEM}, which describes a
- banana problem in a {Dissociated Press} implementation. Also,
- see {one-banana problem} for a superficially similar but
- unrelated usage.
-
- :bandwidth: n. 1. Used by hackers (in a generalization of its
- technical meaning) as the volume of information per unit time that a
- computer, person, or transmission medium can handle. "Those are
- amazing graphics, but I missed some of the detail --- not enough
- bandwidth, I guess." Compare {low-bandwidth}. 2. Attention
- span. 3. On {USENET}, a measure of network capacity that is
- often wasted by people complaining about how items posted by others
- are a waste of bandwidth.
-
- :bang: 1. n. Common spoken name for `!' (ASCII 0100001),
- especially when used in pronouncing a {bang path} in spoken
- hackish. In {elder days} this was considered a CMUish usage,
- with MIT and Stanford hackers preferring {excl} or {shriek};
- but the spread of UNIX has carried `bang' with it (esp. via the
- term {bang path}) and it is now certainly the most common spoken
- name for `!'. Note that it is used exclusively for
- non-emphatic written `!'; one would not say "Congratulations
- bang" (except possibly for humorous purposes), but if one wanted
- to specify the exact characters `foo!' one would speak "Eff oh oh
- bang". See {shriek}, {{ASCII}}. 2. interj. An exclamation
- signifying roughly "I have achieved enlightenment!", or "The
- dynamite has cleared out my brain!" Often used to acknowledge
- that one has perpetrated a {thinko} immediately after one has
- been called on it.
-
- :bang on: vt. To stress-test a piece of hardware or software: "I
- banged on the new version of the simulator all day yesterday and it
- didn't crash once. I guess it is ready for release." The term
- {pound on} is synonymous.
-
- :bang path: n. An old-style UUCP electronic-mail address specifying
- hops to get from some assumed-reachable location to the addressee,
- so called because each {hop} is signified by a {bang} sign.
- Thus, for example, the path ...!bigsite!foovax!barbox!me
- directs people to route their mail to machine bigsite (presumably
- a well-known location accessible to everybody) and from there
- through the machine foovax to the account of user me on
- barbox.
-
- In the bad old days of not so long ago, before autorouting mailers
- became commonplace, people often published compound bang addresses
- using the { } convention (see {glob}) to give paths from
- *several* big machines, in the hopes that one's correspondent
- might be able to get mail to one of them reliably (example:
- ...!{seismo, ut-sally, ihnp4}!rice!beta!gamma!me). Bang paths
- of 8 to 10 hops were not uncommon in 1981. Late-night dial-up
- UUCP links would cause week-long transmission times. Bang paths
- were often selected by both transmission time and reliability, as
- messages would often get lost. See {{Internet address}},
- {network, the}, and {sitename}.
-
- :banner: n. 1. The title page added to printouts by most print
- spoolers (see {spool}). Typically includes user or account ID
- information in very large character-graphics capitals. Also called
- a `burst page', because it indicates where to burst (tear apart)
- fanfold paper to separate one user's printout from the next. 2. A
- similar printout generated (typically on multiple pages of fan-fold
- paper) from user-specified text, e.g., by a program such as UNIX's
- `banner({1,6})'. 3. On interactive software, a first screen
- containing a logo and/or author credits and/or a copyright notice.
-
- :bar: /bar/ n. 1. The second {metasyntactic variable}, after {foo}
- and before {baz}. "Suppose we have two functions: FOO and BAR.
- FOO calls BAR...." 2. Often appended to {foo} to produce
- {foobar}.
-
- :bare metal: n. 1. New computer hardware, unadorned with such
- snares and delusions as an {operating system}, an {HLL}, or
- even assembler. Commonly used in the phrase `programming on the
- bare metal', which refers to the arduous work of {bit bashing}
- needed to create these basic tools for a new machine. Real
- bare-metal programming involves things like building boot proms and
- BIOS chips, implementing basic monitors used to test device
- drivers, and writing the assemblers that will be used to write the
- compiler back ends that will give the new machine a real
- development environment. 2. `Programming on the bare metal' is
- also used to describe a style of {hand-hacking} that relies on
- bit-level peculiarities of a particular hardware design, esp.
- tricks for speed and space optimization that rely on crocks such as
- overlapping instructions (or, as in the famous case described in
- {The Story of Mel, a Real Programmer} (in {Appendix A}),
- interleaving of opcodes on a magnetic drum to minimize fetch delays
- due to the device's rotational latency). This sort of thing has
- become less common as the relative costs of programming time and
- machine resources have changed, but is still found in heavily
- constrained environments such as industrial embedded systems, and
- in the code of hackers who just can't let go of that low-level
- control. See {Real Programmer}.
-
- In the world of personal computing, bare metal programming
- (especially in sense 1 but sometimes also in sense 2) is often
- considered a {Good Thing}, or at least a necessary evil
- (because these machines have often been sufficiently slow and
- poorly designed to make it necessary; see {ill-behaved}).
- There, the term usually refers to bypassing the BIOS or OS
- interface and writing the application to directly access device
- registers and machine addresses. "To get 19.2 kilobaud on the
- serial port, you need to get down to the bare metal." People who
- can do this sort of thing well are held in high regard.
-
- :barf: /barf/ [from mainstream slang meaning `vomit']
- 1. interj. Term of disgust. This is the closest hackish
- equivalent of the Val\-speak "gag me with a spoon". (Like,
- euwww!) See {bletch}. 2. vi. To say "Barf!" or emit some
- similar expression of disgust. "I showed him my latest hack and
- he barfed" means only that he complained about it, not that he
- literally vomited. 3. vi. To fail to work because of unacceptable
- input, perhaps with a suitable error message, perhaps not.
- Examples: "The division operation barfs if you try to divide by
- 0." (That is, the division operation checks for an attempt to
- divide by zero, and if one is encountered it causes the operation
- to fail in some unspecified, but generally obvious, manner.) "The
- text editor barfs if you try to read in a new file before writing
- out the old one." See {choke}, {gag}. In Commonwealth
- hackish, `barf' is generally replaced by `puke' or `vom'.
- {barf} is sometimes also used as a {metasyntactic variable},
- like {foo} or {bar}.
-
- :barfmail: n. Multiple {bounce message}s accumulating to the
- level of serious annoyance, or worse. The sort of thing that
- happens when an inter-network mail gateway goes down or
- wonky.
-
- :barfulation: /bar`fyoo-lay'sh*n/ interj. Variation of {barf}
- used around the Stanford area. An exclamation, expressing disgust.
- On seeing some particularly bad code one might exclaim,
- "Barfulation! Who wrote this, Quux?"
-
- :barfulous: /bar'fyoo-l*s/ adj. (alt. `barfucious',
- /bar-fyoo-sh*s/) Said of something that would make anyone barf,
- if only for esthetic reasons.
-
- :barney: n. In Commonwealth hackish, `barney' is to {fred}
- (sense #1) as {bar} is to {foo}. That is, people who
- commonly use `fred' as their first metasyntactic variable will
- often use `barney' second. The reference is, of course, to Fred
- Flintstone and Barney Rubble in the Flintstones cartoons.
-
- :baroque: adj. Feature-encrusted; complex; gaudy; verging on
- excessive. Said of hardware or (esp.) software designs, this has
- many of the connotations of {elephantine} or {monstrosity} but is
- less extreme and not pejorative in itself. "Metafont even has
- features to introduce random variations to its letterform output.
- Now *that* is baroque!" See also {rococo}.
-
- :BASIC: [acronym, from Beginner's All-purpose Symbolic Instruction
- Code] n. A programming language, originally designed for
- Dartmouth's experimental timesharing system in the early 1960s,
- which has since become the leading cause of brain-damage in
- proto-hackers. This is another case (like {Pascal}) of the
- cascading lossage that happens when a language deliberately
- designed as an educational toy gets taken too seriously. A novice
- can write short BASIC programs (on the order of 10--20 lines) very
- easily; writing anything longer is (a) very painful, and (b)
- encourages bad habits that will make it harder to use more powerful
- languages well. This wouldn't be so bad if historical accidents
- hadn't made BASIC so common on low-end micros. As it is, it ruins
- thousands of potential wizards a year.
-
- :batch: adj. 1. Non-interactive. Hackers use this somewhat more
- loosely than the traditional technical definitions justify; in
- particular, switches on a normally interactive program that prepare
- it to receive non-interactive command input are often referred to
- as `batch mode' switches. A `batch file' is a series of
- instructions written to be handed to an interactive program running
- in batch mode. 2. Performance of dreary tasks all at one sitting.
- "I finally sat down in batch mode and wrote out checks for all
- those bills; I guess they'll turn the electricity back on next
- week..." 3. `batching up': Accumulation of a number of small
- tasks that can be lumped together for greater efficiency. "I'm
- batching up those letters to send sometime" "I'm batching up
- bottles to take to the recycling center."
-
- :bathtub curve: n. Common term for the curve (resembling an
- end-to-end section of one of those claw-footed antique bathtubs)
- that describes the expected failure rate of electronics with time:
- initially high, dropping to near 0 for most of the system's
- lifetime, then rising again as it `tires out'. See also {burn-in
- period}, {infant mortality}.
-
- :baud: /bawd/ [simplified from its technical meaning] n. Bits per
- second. Hence kilobaud or Kbaud, thousands of bits per second.
- The technical meaning is `level transitions per second'; this
- coincides with bps only for two-level modulation with no framing or
- stop bits. Most hackers are aware of these nuances but blithely
- ignore them.
-
- Historical note: `baud' was originally a unit of telegraph signalling
- speed, set at one pulse per second. It was proposed at the
- International Telegraph Conference of 1927, and named after J.M.E.
- Baudot (1845--1903), the French engineer who constructed the first
- successful teleprinter.
-
- :baud barf: /bawd barf/ n. The garbage one gets on the monitor
- when using a modem connection with some protocol setting (esp.
- line speed) incorrect, or when someone picks up a voice extension
- on the same line, or when really bad line noise disrupts the
- connection. Baud barf is not completely {random}, by the way;
- hackers with a lot of serial-line experience can usually tell
- whether the device at the other end is expecting a higher or lower
- speed than the terminal is set to. *Really* experienced ones
- can identify particular speeds.
-
- :baz: /baz/ n. 1. The third {metasyntactic variable} "Suppose we
- have three functions: FOO, BAR, and BAZ. FOO calls BAR, which
- calls BAZ...." (See also {fum}) 2. interj. A term of mild
- annoyance. In this usage the term is often drawn out for 2 or 3
- seconds, producing an effect not unlike the bleating of a sheep;
- /baaaaaaz/. 3. Occasionally appended to {foo} to produce
- `foobaz'.
-
- Earlier versions of this lexicon derived `baz' as a Stanford
- corruption of {bar}. However, Pete Samson (compiler of the
- {TMRC} lexicon) reports it was already current when he joined TMRC
- in 1958. He says "It came from `Pogo'. Albert the Alligator,
- when vexed or outraged, would shout `Bazz Fazz!' or `Rowrbazzle!'
- The club layout was said to model the (mythical) New England
- counties of Rowrfolk and Bassex (Rowrbazzle mingled with
- (Norfolk/Suffolk/Middlesex/Essex)."
-
- :bboard: /bee'bord/ [contraction of `bulletin board'] n.
- 1. Any electronic bulletin board; esp. used of {BBS} systems
- running on personal micros, less frequently of a USENET
- {newsgroup} (in fact, use of this term for a newsgroup generally
- marks one either as a {newbie} fresh in from the BBS world or as
- a real old-timer predating USENET). 2. At CMU and other colleges
- with similar facilities, refers to campus-wide electronic bulletin
- boards. 3. The term `physical bboard' is sometimes used to refer
- to a old-fashioned, non-electronic cork-and-thumbtack memo board.
- At CMU, it refers to a particular one outside the CS Lounge.
-
- In either of senses 1 or 2, the term is usually prefixed by the
- name of the intended board (`the Moonlight Casino bboard' or
- `market bboard'); however, if the context is clear, the better-read
- bboards may be referred to by name alone, as in (at CMU) "Don't
- post for-sale ads on general".
-
- :BBS: /B-B-S/ [abbreviation, `Bulletin Board System'] n. An electronic
- bulletin board system; that is, a message database where people can
- log in and leave broadcast messages for others grouped (typically)
- into {topic group}s. Thousands of local BBS systems are in
- operation throughout the U.S., typically run by amateurs for fun
- out of their homes on MS-DOS boxes with a single modem line each.
- Fans of USENET and Internet or the big commercial timesharing
- bboards such as CompuServe and GEnie tend to consider local BBSes
- the low-rent district of the hacker culture, but they serve a
- valuable function by knitting together lots of hackers and users in
- the personal-micro world who would otherwise be unable to exchange
- code at all. See also {bboard}.
-
- :beam: [from Star Trek Classic's "Beam me up, Scotty!"] vt. To
- transfer {softcopy} of a file electronically; most often in
- combining forms such as `beam me a copy' or `beam that over to
- his site'. Compare {blast}, {snarf}, {BLT}.
-
- :beanie key: [Mac users] n. See {command key}.
-
- :beep: n.,v. Syn. {feep}. This term seems to be preferred among micro
- hobbyists.
-
- :beige toaster: n. A Macintosh. See {toaster}; compare
- {Macintrash}, {maggotbox}.
-
- :bells and whistles: [by analogy with the toyboxes on theater
- organs] n. Features added to a program or system to make it more
- {flavorful} from a hacker's point of view, without necessarily
- adding to its utility for its primary function. Distinguished from
- {chrome}, which is intended to attract users. "Now that we've
- got the basic program working, let's go back and add some bells and
- whistles." No one seems to know what distinguishes a bell from a
- whistle.
-
- :bells, whistles, and gongs: n. A standard elaborated form of
- {bells and whistles}; typically said with a pronounced and ironic
- accent on the `gongs'.
-
- :benchmark: [techspeak] n. An inaccurate measure of computer
- performance. "In the computer industry, there are three kinds of
- lies: lies, damn lies, and benchmarks." Well-known ones include
- Whetstone, Dhrystone, Rhealstone (see {h}), the Gabriel LISP
- benchmarks (see {gabriel}), the SPECmark suite, and LINPACK. See
- also {machoflops}, {MIPS}, {smoke and mirrors}.
-
- :Berkeley Quality Software: adj. (often abbreviated `BQS') Term used
- in a pejorative sense to refer to software that was apparently
- created by rather spaced-out hackers late at night to solve some
- unique problem. It usually has nonexistent, incomplete, or
- incorrect documentation, has been tested on at least two examples,
- and core dumps when anyone else attempts to use it. This term was
- frequently applied to early versions of the `dbx(1)' debugger.
- See also {Berzerkeley}.
-
- Note to British and Commonwealth readers: that's /berk'lee/, not
- /bark'lee/ as in British Received Pronunciation.
-
- :berklix: /berk'liks/ n.,adj. [contraction of `Berkeley UNIX'] See
- {BSD}. Not used at Berkeley itself. May be more common among
- {suit}s attempting to sound like cognoscenti than among hackers,
- who usually just say `BSD'.
-
- :Berzerkeley: /b*r-zer'klee/ [from `berserk', via the name of a
- now-deceased record label] n. Humorous distortion of `Berkeley'
- used esp. to refer to the practices or products of the
- {BSD} UNIX hackers. See {software bloat}, {Missed'em-five},
- {Berkeley Quality Software}.
-
- Mainstream use of this term in reference to the cultural and
- political peculiarities of UC Berkeley as a whole has been reported
- from as far back as the 1960s.
-
- :beta: /bay't*/, /be't*/ or (Commonwealth) /bee't*/ n.
- 1. Mostly working, but still under test; usu. used with `in': `in
- beta'. In the {Real World}, systems (hardware or software)
- software often go through two stages of release testing: Alpha
- (in-house) and Beta (out-house?). Beta releases are generally made
- to a small number of lucky (or unlucky), trusted customers.
- 2. Anything that is new and experimental. "His girlfriend is in
- beta" means that he is still testing for compatibility and
- reserving judgment. 3. Flaky; dubious; suspect (since beta
- software is notoriously buggy).
-
- Historical note: More formally, to beta-test is to test a
- pre-release (potentially unreliable) version of a piece of software
- by making it available to selected customers and users. This term
- derives from early 1960s terminology for product cycle checkpoints,
- first used at IBM but later standard throughout the industry.
- `Alpha Test' was the unit, module, or component test phase; `Beta
- Test' was initial system test. These themselves came from earlier
- A- and B-tests for hardware. The A-test was a feasibility and
- manufacturability evaluation done before any commitment to design
- and development. The B-test was a demonstration that the
- engineering model functioned as specified. The C-test
- (corresponding to today's beta) was the B-test performed on early
- samples of the production design.
-
- :BFI: /B-F-I/ n. See {brute force and ignorance}. Also
- encountered in the variants `BFMI', `brute force and
- *massive* ignorance' and `BFBI' `brute force and bloody
- ignorance'.
-
- :bible: n. 1. One of a small number of fundamental source books
- such as {Knuth} and {K&R}. 2. The most detailed and
- authoritative reference for a particular language, operating
- system, or other complex software system.
-
- :BiCapitalization: n. The act said to have been performed on
- trademarks (such as {PostScript}, NeXT, {NeWS}, VisiCalc,
- FrameMaker, TK!solver, EasyWriter) that have been raised above the
- ruck of common coinage by nonstandard capitalization. Too many
- {marketroid} types think this sort of thing is really cute, even
- the 2,317th time they do it. Compare {studlycaps}.
-
- :BIFF: /bif/ [USENET] n. The most famous {pseudo}, and the
- prototypical {newbie}. Articles from BIFF are characterized by
- all uppercase letters sprinkled liberally with bangs, typos,
- `cute' misspellings (EVRY BUDY LUVS GOOD OLD BIFF CUZ HE"S A
- K00L DOOD AN HE RITES REEL AWESUM THINGZ IN CAPITULL LETTRS LIKE
- THIS!!!), use (and often misuse) of fragments of {talk mode}
- abbreviations, a long {sig block} (sometimes even a {doubled
- sig}), and unbounded naivet'e. BIFF posts articles using his
- elder brother's VIC-20. BIFF's location is a mystery, as his
- articles appear to come from a variety of sites. However,
- {BITNET} seems to be the most frequent origin. The theory that
- BIFF is a denizen of BITNET is supported by BIFF's (unfortunately
- invalid) electronic mail address: BIFF@BIT.NET.
-
- [1993: Now It Can Be Told! My spies inform me that BIFF was
- originally created by Joe Talmadge <jat@cup.hp.com>, also the
- author of the infamous and much-plagiarized "Flamer's Bible".
- The BIFF filter he wrote was later passed to Richard Sexton, who
- posted BIFFisms much more widely. Versions have since been posted
- for the amusement of the net at large. --- ESR]
-
- :biff: /bif/ vt. To notify someone of incoming mail. From the
- BSD utility `biff(1)', which was in turn named after a
- friendly golden Labrador who used to chase frisbees in the halls at
- UCB while 4.2BSD was in development (it had a well-known habit of
- barking whenever the mailman came). No relation to
- {BIFF}.
-
- :Big Gray Wall: n. What faces a {VMS} user searching for
- documentation. A full VMS kit comes on a pallet, the documentation
- taking up around 15 feet of shelf space before the addition of
- layered products such as compilers, databases, multivendor
- networking, and programming tools. Recent (since VMS version 5)
- DEC documentation comes with gray binders; under VMS version 4 the
- binders were orange (`big orange wall'), and under version 3 they
- were blue. See {VMS}. Often contracted to `Gray Wall'.
-
- :big iron: n. Large, expensive, ultra-fast computers. Used generally
- of {number-crunching} supercomputers such as Crays, but can include
- more conventional big commercial IBMish mainframes. Term of
- approval; compare {heavy metal}, oppose {dinosaur}.
-
- :Big Red Switch: [IBM] n. The power switch on a computer, esp. the
- `Emergency Pull' switch on an IBM {mainframe} or the power switch
- on an IBM PC where it really is large and red. "This !@%$%
- {bitty box} is hung again; time to hit the Big Red Switch."
- Sources at IBM report that, in tune with the company's passion for
- {TLA}s, this is often abbreviated as `BRS' (this has also
- become established on FidoNet and in the PC {clone} world). It
- is alleged that the emergency pull switch on an IBM 360/91 actually
- fired a non-conducting bolt into the main power feed; the BRSes on
- more recent mainframes physically drop a block into place so that
- they can't be pushed back in. People get fired for pulling them,
- especially inappropriately (see also {molly-guard}). Compare
- {power cycle}, {three-finger salute}, {120 reset}; see
- also {scram switch}.
-
- :Big Room, the: n. The extremely large room with the blue ceiling
- and intensely bright light (during the day) or black ceiling with
- lots of tiny night-lights (during the night) found outside all
- computer installations. "He can't come to the phone right now,
- he's somewhere out in the Big Room."
-
- :big win: n. Serendipity. "Yes, those two physicists discovered
- high-temperature superconductivity in a batch of ceramic that had
- been prepared incorrectly according to their experimental schedule.
- Small mistake; big win!" See {win big}.
-
- :big-endian: [From Swift's `Gulliver's Travels' via the famous
- paper `On Holy Wars and a Plea for Peace' by Danny Cohen,
- USC/ISI IEN 137, dated April 1, 1980] adj. 1. Describes a computer
- architecture in which, within a given multi-byte numeric
- representation, the most significant byte has the lowest address
- (the word is stored `big-end-first'). Most processors,
- including the IBM 370 family, the {PDP-10}, the Motorola
- microprocessor families, and most of the various RISC designs
- current in mid-1993, are big-endian. See {little-endian},
- {middle-endian}, {NUXI problem}, {swab}. 2. An
- {{Internet address}} the wrong way round. Most of the world
- follows the Internet standard and writes email addresses starting
- with the name of the computer and ending up with the name of the
- country. In the U.K. the Joint Networking Team had decided to do
- it the other way round before the Internet domain standard was
- established; e.g., me@uk.ac.wigan.cs. Most gateway sites have
- {ad-hockery} in their mailers to handle this, but can still be
- confused. In particular, the address above could be in the
- U.K. (domain uk) or Czechoslovakia (domain cs).
-
- :bignum: /big'nuhm/ [orig. from MIT MacLISP] n. 1. [techspeak] A
- multiple-precision computer representation for very large
- integers. 2. More generally, any very large number. "Have you ever
- looked at the United States Budget? There's bignums for you!"
- 3. [Stanford] In backgammon, large numbers on the dice especially a
- roll of double fives or double sixes (compare {moby}, sense 4).
- See also {El Camino Bignum}.
-
- Sense 1 may require some explanation. Most computer languages
- provide a kind of data called `integer', but such computer
- integers are usually very limited in size; usually they must be
- smaller than than 2^(31) (2,147,483,648) or (on a
- {bitty box}) 2^(15) (32,768). If you want to work
- with numbers larger than that, you have to use floating-point
- numbers, which are usually accurate to only six or seven decimal
- places. Computer languages that provide bignums can perform exact
- calculations on very large numbers, such as 1000! (the factorial
- of 1000, which is 1000 times 999 times 998 times ... times 2
- times 1). For example, this value for 1000! was computed by the
- MacLISP system using bignums:
-
- 40238726007709377354370243392300398571937486421071
- 46325437999104299385123986290205920442084869694048
- 00479988610197196058631666872994808558901323829669
- 94459099742450408707375991882362772718873251977950
- 59509952761208749754624970436014182780946464962910
- 56393887437886487337119181045825783647849977012476
- 63288983595573543251318532395846307555740911426241
- 74743493475534286465766116677973966688202912073791
- 43853719588249808126867838374559731746136085379534
- 52422158659320192809087829730843139284440328123155
- 86110369768013573042161687476096758713483120254785
- 89320767169132448426236131412508780208000261683151
- 02734182797770478463586817016436502415369139828126
- 48102130927612448963599287051149649754199093422215
- 66832572080821333186116811553615836546984046708975
- 60290095053761647584772842188967964624494516076535
- 34081989013854424879849599533191017233555566021394
- 50399736280750137837615307127761926849034352625200
- 01588853514733161170210396817592151090778801939317
- 81141945452572238655414610628921879602238389714760
- 88506276862967146674697562911234082439208160153780
- 88989396451826324367161676217916890977991190375403
- 12746222899880051954444142820121873617459926429565
- 81746628302955570299024324153181617210465832036786
- 90611726015878352075151628422554026517048330422614
- 39742869330616908979684825901254583271682264580665
- 26769958652682272807075781391858178889652208164348
- 34482599326604336766017699961283186078838615027946
- 59551311565520360939881806121385586003014356945272
- 24206344631797460594682573103790084024432438465657
- 24501440282188525247093519062092902313649327349756
- 55139587205596542287497740114133469627154228458623
- 77387538230483865688976461927383814900140767310446
- 64025989949022222176590433990188601856652648506179
- 97023561938970178600408118897299183110211712298459
- 01641921068884387121855646124960798722908519296819
- 37238864261483965738229112312502418664935314397013
- 74285319266498753372189406942814341185201580141233
- 44828015051399694290153483077644569099073152433278
- 28826986460278986432113908350621709500259738986355
- 42771967428222487575867657523442202075736305694988
- 25087968928162753848863396909959826280956121450994
- 87170124451646126037902930912088908694202851064018
- 21543994571568059418727489980942547421735824010636
- 77404595741785160829230135358081840096996372524230
- 56085590370062427124341690900415369010593398383577
- 79394109700277534720000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000
- 000000000000000000.
-
- :bigot: n. A person who is religiously attached to a particular
- computer, language, operating system, editor, or other tool (see
- {religious issues}). Usually found with a specifier; thus,
- `cray bigot', `ITS bigot', `APL bigot', `VMS bigot',
- `Berkeley bigot'. Real bigots can be distinguished from mere
- partisans or zealots by the fact that they refuse to learn
- alternatives even when the march of time and/or technology is
- threatening to obsolete the favored tool. It is truly said "You
- can tell a bigot, but you can't tell him much." Compare
- {weenie}.
-
- :bit: [from the mainstream meaning and `Binary digIT'] n.
- 1. [techspeak] The unit of information; the amount of information
- obtained by asking a yes-or-no question for which the two outcomes
- are equally probable. 2. [techspeak] A computational quantity that
- can take on one of two values, such as true and false or 0 and 1.
- 3. A mental flag: a reminder that something should be done
- eventually. "I have a bit set for you." (I haven't seen you for
- a while, and I'm supposed to tell or ask you something.) 4. More
- generally, a (possibly incorrect) mental state of belief. "I have
- a bit set that says that you were the last guy to hack on EMACS."
- (Meaning "I think you were the last guy to hack on EMACS, and what
- I am about to say is predicated on this, so please stop me if this
- isn't true.")
-
- "I just need one bit from you" is a polite way of indicating that
- you intend only a short interruption for a question that can
- presumably be answered yes or no.
-
- A bit is said to be `set' if its value is true or 1, and
- `reset' or `clear' if its value is false or 0. One speaks of
- setting and clearing bits. To {toggle} or `invert' a bit is
- to change it, either from 0 to 1 or from 1 to 0. See also
- {flag}, {trit}, {mode bit}.
-
- The term `bit' first appeared in print in the computer-science
- sense in 1949, and seems to have been coined by early computer
- scientist John Tukey. Tukey records that it evolved over a lunch
- table as a handier alternative to `bigit' or `binit'.
-
- :bit bang: n. Transmission of data on a serial line, when
- accomplished by rapidly tweaking a single output bit, in software,
- at the appropriate times. The technique is a simple loop with
- eight OUT and SHIFT instruction pairs for each byte. Input is more
- interesting. And full duplex (doing input and output at the same
- time) is one way to separate the real hackers from the
- {wannabee}s.
-
- Bit bang was used on certain early models of Prime computers,
- presumably when UARTs were too expensive, and on archaic Z80 micros
- with a Zilog PIO but no SIO. In an interesting instance of the
- {cycle of reincarnation}, this technique is now (1991) coming
- back into use on some RISC architectures because it consumes such
- an infinitesimal part of the processor that it actually makes sense
- not to have a UART.
-
- :bit bashing: n. (alt. `bit diddling' or {bit twiddling}) Term
- used to describe any of several kinds of low-level programming
- characterized by manipulation of {bit}, {flag}, {nybble},
- and other smaller-than-character-sized pieces of data; these
- include low-level device control, encryption algorithms, checksum
- and error-correcting codes, hash functions, some flavors of
- graphics programming (see {bitblt}), and assembler/compiler code
- generation. May connote either tedium or a real technical
- challenge (more usually the former). "The command decoding for
- the new tape driver looks pretty solid but the bit-bashing for the
- control registers still has bugs." See also {bit bang},
- {mode bit}.
-
- :bit bucket: n. 1. The universal data sink (originally, the
- mythical receptacle used to catch bits when they fall off the end
- of a register during a shift instruction). Discarded, lost, or
- destroyed data is said to have `gone to the bit bucket'. On
- {{UNIX}}, often used for {/dev/null}. Sometimes amplified as
- `the Great Bit Bucket in the Sky'. 2. The place where all lost
- mail and news messages eventually go. The selection is performed
- according to {Finagle's Law}; important mail is much more likely
- to end up in the bit bucket than junk mail, which has an almost
- 100% probability of getting delivered. Routing to the bit bucket
- is automatically performed by mail-transfer agents, news systems,
- and the lower layers of the network. 3. The ideal location for all
- unwanted mail responses: "Flames about this article to the bit
- bucket." Such a request is guaranteed to overflow one's mailbox
- with flames. 4. Excuse for all mail that has not been sent. "I
- mailed you those figures last week; they must have landed in the
- bit bucket." Compare {black hole}.
-
- This term is used purely in jest. It is based on the fanciful
- notion that bits are objects that are not destroyed but only
- misplaced. This appears to have been a mutation of an earlier term
- `bit box', about which the same legend was current; old-time
- hackers also report that trainees used to be told that when the CPU
- stored bits into memory it was actually pulling them `out of the
- bit box'. See also {chad box}.
-
- Another variant of this legend has it that, as a consequence of the
- `parity preservation law', the number of 1 bits that go to the bit
- bucket must equal the number of 0 bits. Any imbalance results in
- bits filling up the bit bucket. A qualified computer technician
- can empty a full bit bucket as part of scheduled maintenance.
-
- :bit decay: n. See {bit rot}. People with a physics background
- tend to prefer this variant for the analogy with particle decay. See
- also {computron}, {quantum bogodynamics}.
-
- :bit rot: n. Also {bit decay}. Hypothetical disease the existence
- of which has been deduced from the observation that unused programs
- or features will often stop working after sufficient time has
- passed, even if `nothing has changed'. The theory explains that
- bits decay as if they were radioactive. As time passes, the
- contents of a file or the code in a program will become
- increasingly garbled.
-
- There actually are physical processes that produce such effects
- (alpha particles generated by trace radionuclides in ceramic chip
- packages, for example, can change the contents of a computer memory
- unpredictably, and various kinds of subtle media failures can
- corrupt files in mass storage), but they are quite rare (and
- computers are built with error-detecting circuitry to compensate
- for them). The notion long favored among hackers that cosmic
- rays are among the causes of such events turns out to be a myth;
- see the {cosmic rays} entry for details.
-
- The term {software rot} is almost synonymous. Software rot is
- the effect, bit rot the notional cause.
-
- :bit twiddling: n. 1. (pejorative) An exercise in tuning (see
- {tune}) in which incredible amounts of time and effort go to
- produce little noticeable improvement, often with the result that
- the code becomes incomprehensible. 2. Aimless small
- modification to a program, esp. for some pointless goal.
- 3. Approx. syn. for {bit bashing}; esp. used for the act of
- frobbing the device control register of a peripheral in an attempt
- to get it back to a known state.
-
- :bit-paired keyboard: n. obs. (alt. `bit-shift keyboard') A
- non-standard keyboard layout that seems to have originated with the
- Teletype ASR-33 and remained common for several years on early
- computer equipment. The ASR-33 was a mechanical device (see
- {EOU}), so the only way to generate the character codes from
- keystrokes was by some physical linkage. The design of the ASR-33
- assigned each character key a basic pattern that could be modified
- by flipping bits if the SHIFT or the CTRL key was pressed. In
- order to avoid making the thing more of a Rube Goldberg kluge than
- it already was, the design had to group characters that shared the
- same basic bit pattern on one key.
-
- Looking at the ASCII chart, we find:
-
- high low bits
- bits 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
- 010 ! " # $ % & ' ( )
- 011 0 1 2 3 4 5 6 7 8 9
-
- This is why the characters !"#$%&'() appear where they do on a
- Teletype (thankfully, they didn't use shift-0 for space). This was
- *not* the weirdest variant of the {QWERTY} layout widely
- seen, by the way; that prize should probably go to one of several
- (differing) arrangements on IBM's even clunkier 026 and 029 card
- punches.
-
- When electronic terminals became popular, in the early 1970s, there
- was no agreement in the industry over how the keyboards should be
- laid out. Some vendors opted to emulate the Teletype keyboard,
- while others used the flexibility of electronic circuitry to make
- their product look like an office typewriter. These alternatives
- became known as `bit-paired' and `typewriter-paired' keyboards. To
- a hacker, the bit-paired keyboard seemed far more logical --- and
- because most hackers in those days had never learned to touch-type,
- there was little pressure from the pioneering users to adapt
- keyboards to the typewriter standard.
-
- The doom of the bit-paired keyboard was the large-scale
- introduction of the computer terminal into the normal office
- environment, where out-and-out technophobes were expected to use
- the equipment. The `typewriter-paired' standard became universal,
- `bit-paired' hardware was quickly junked or relegated to dusty
- corners, and both terms passed into disuse.
-
- :bitblt: /bit'blit/ n. [from {BLT}, q.v.] 1. Any of a family
- of closely related algorithms for moving and copying rectangles of
- bits between main and display memory on a bit-mapped device, or
- between two areas of either main or display memory (the requirement
- to do the {Right Thing} in the case of overlapping source and
- destination rectangles is what makes BitBlt tricky). 2. Synonym
- for {blit} or {BLT}. Both uses are borderline techspeak.
-
- :BITNET: /bit'net/ [acronym: Because It's Time NETwork] n.
- Everybody's least favorite piece of the network (see {network,
- the}). The BITNET hosts are a collection of IBM dinosaurs and
- VAXen (the latter with lobotomized comm hardware) that communicate
- using 80-character {{EBCDIC}} card images (see {eighty-column
- mind}); thus, they tend to mangle the headers and text of
- third-party traffic from the rest of the ASCII/{RFC}-822 world with
- annoying regularity. BITNET is also notorious as the apparent home
- of {BIFF}.
-
- :bits: n.pl. 1. Information. Examples: "I need some bits about file
- formats." ("I need to know about file formats.") Compare {core
- dump}, sense 4. 2. Machine-readable representation of a document,
- specifically as contrasted with paper: "I have only a photocopy
- of the Jargon File; does anyone know where I can get the bits?".
- See {softcopy}, {source of all good bits} See also {bit}.
-
- :bitty box: /bit'ee boks/ n. 1. A computer sufficiently small,
- primitive, or incapable as to cause a hacker acute claustrophobia
- at the thought of developing software on or for it. Especially
- used of small, obsolescent, single-tasking-only personal machines
- such as the Atari 800, Osborne, Sinclair, VIC-20, TRS-80, or
- IBM PC. 2. [Pejorative] More generally, the opposite of `real
- computer' (see {Get a real computer!}). See also {mess-dos},
- {toaster}, and {toy}.
-
- :bixie: /bik'see/ n. Variant {emoticon}s used on BIX (the Byte
- Information eXchange). The {smiley} bixie is <@_@>, apparently
- intending to represent two cartoon eyes and a mouth. A few others
- have been reported.
-
- :black art: n. A collection of arcane, unpublished, and (by
- implication) mostly ad-hoc techniques developed for a particular
- application or systems area (compare {black magic}). VLSI design
- and compiler code optimization were (in their beginnings)
- considered classic examples of black art; as theory developed they
- became {deep magic}, and once standard textbooks had been written,
- became merely {heavy wizardry}. The huge proliferation of formal
- and informal channels for spreading around new computer-related
- technologies during the last twenty years has made both the term
- `black art' and what it describes less common than formerly. See
- also {voodoo programming}.
-
- :black hole: n. What a piece of email or netnews has fallen into if
- it disappears mysteriously between its origin and destination sites
- (that is, without returning a {bounce message}). "I think
- there's a black hole at foovax!" conveys suspicion that site
- foovax has been dropping a lot of stuff on the floor lately
- (see {drop on the floor}). The implied metaphor of email as
- interstellar travel is interesting in itself. Compare {bit
- bucket}.
-
- :black magic: n. A technique that works, though nobody really
- understands why. More obscure than {voodoo programming}, which
- may be done by cookbook. Compare also {black art}, {deep
- magic}, and {magic number} (sense 2).
-
- :blargh: /blarg/ [MIT] n. The opposite of {ping}, sense 5; an
- exclamation indicating that one has absorbed or is emitting a
- quantum of unhappiness. Less common than {ping}.
-
- :blast: 1. vt.,n. Synonym for {BLT}, used esp. for large data
- sends over a network or comm line. Opposite of {snarf}. Usage:
- uncommon. The variant `blat' has been reported. 2. vt.
- [HP/Apollo] Synonymous with {nuke} (sense 3). Sometimes the
- message `Unable to kill all processes. Blast them (y/n)?' would
- appear in the command window upon logout.
-
- :blat: n. 1. Syn. {blast}, sense 1. 2. See {thud}.
-
- :bletch: /blech/ [from Yiddish/German `brechen', to vomit, poss.
- via comic-strip exclamation `blech'] interj. Term of disgust.
- Often used in "Ugh, bletch". Compare {barf}.
-
- :bletcherous: /blech'*-r*s/ adj. Disgusting in design or function;
- esthetically unappealing. This word is seldom used of people.
- "This keyboard is bletcherous!" (Perhaps the keys don't work very
- well, or are misplaced.) See {losing}, {cretinous},
- {bagbiter}, {bogus}, and {random}. The term {bletcherous}
- applies to the esthetics of the thing so described; similarly for
- {cretinous}. By contrast, something that is `losing' or
- `bagbiting' may be failing to meet objective criteria. See also
- {bogus} and {random}, which have richer and wider shades of
- meaning than any of the above.
-
- :blinkenlights: /blink'*n-li:tz/ n. Front-panel diagnostic lights
- on a computer, esp. a {dinosaur}. Derives from the last word
- of the famous blackletter-Gothic sign in mangled pseudo-German that
- once graced about half the computer rooms in the English-speaking
- world. One version ran in its entirety as follows:
-
- ACHTUNG! ALLES LOOKENSPEEPERS! Das
- computermachine ist nicht fuer gefingerpoken und mittengrabben.
- Ist easy schnappen der springenwerk, blowenfusen und poppencorken
- mit spitzensparken. Ist nicht fuer gewerken bei das dumpkopfen.
- Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das
- pockets muss; relaxen und watchen das blinkenlichten.
-
-
- This silliness dates back at least as far as 1959 at Stanford
- University and had already gone international by the early 1960s,
- when it was reported at London University's ATLAS computing site.
- There are several variants of it in circulation, some of which
- actually do end with the word `blinkenlights'.
-
- In an amusing example of turnabout-is-fair-play, German hackers
- have developed their own versions of the blinkenlights poster in
- fractured English, one of which is reproduced here:
-
- ATTENTION
- This room is fullfilled mit special electronische equippment.
- Fingergrabbing and pressing the cnoeppkes from the computers is
- allowed for die experts only! So all the "lefthanders" stay away
- and do not disturben the brainstorming von here working
- intelligencies. Otherwise you will be out thrown and kicked
- anderswhere! Also: please keep still and only watchen astaunished
- the blinkenlights.
-
- See also {geef}.
-
- :blit: /blit/ vt. 1. To copy a large array of bits from one part
- of a computer's memory to another part, particularly when the
- memory is being used to determine what is shown on a display
- screen. "The storage allocator picks through the table and copies
- the good parts up into high memory, and then blits it all back down
- again." See {bitblt}, {BLT}, {dd}, {cat}, {blast},
- {snarf}. More generally, to perform some operation (such as
- toggling) on a large array of bits while moving them. 2. Sometimes
- all-capitalized as `BLIT': an early experimental bit-mapped
- terminal designed by Rob Pike at Bell Labs, later commercialized as
- the AT&T 5620. (The folk etymology from `Bell Labs Intelligent
- Terminal' is incorrect. Its creators liked to claim that "Blit"
- stood for the Bacon, Lettuce, and Interactive Tomato.)
-
- :blitter: /blit'r/ n. A special-purpose chip or hardware system
- built to perform {blit} operations, esp. used for fast
- implementation of bit-mapped graphics. The Commodore Amiga and a
- few other micros have these, but in 1991 the trend is away from
- them (however, see {cycle of reincarnation}). Syn. {raster
- blaster}.
-
- :blivet: /bliv'*t/ [allegedly from a World War II military term
- meaning "ten pounds of manure in a five-pound bag"] n. 1. An
- intractable problem. 2. A crucial piece of hardware that can't be
- fixed or replaced if it breaks. 3. A tool that has been hacked
- over by so many incompetent programmers that it has become an
- unmaintainable tissue of hacks. 4. An out-of-control but
- unkillable development effort. 5. An embarrassing bug that pops up
- during a customer demo. 6. In the subjargon of computer security
- specialists, a denial-of-service attack performed by hogging
- limited resources that have no access controls (for example, shared
- spool space on a multi-user system).
-
- This term has other meanings in other technical cultures; among
- experimental physicists and hardware engineers of various kinds it
- seems to mean any random object of unknown purpose (similar to
- hackish use of {frob}). It has also been used to describe an
- amusing trick-the-eye drawing resembling a three-pronged fork that
- appears to depict a three-dimensional object until one realizes
- that the parts fit together in an impossible way.
-
- :BLOB: [acronym, Binary Large OBject] n. Used by database people to
- refer to any random large block of bits that needs to be stored in
- a database, such as a picture or sound file. The essential point
- about a BLOB is that it's an object that cannot be interpreted
- within the database itself.
-
- :block: [from process scheduling terminology in OS theory] 1. vi.
- To delay or sit idle while waiting for something. "We're blocking
- until everyone gets here." Compare {busy-wait}. 2. `block
- on' vt. To block, waiting for (something). "Lunch is blocked on
- Phil's arrival."
-
- :block transfer computations: [from the television series
- "Dr. Who"] n. Computations so fiendishly subtle and complex
- that they could not be performed by machines. Used to refer to any
- task that should be expressible as an algorithm in theory, but
- isn't.
-
- :Bloggs Family, the: n. An imaginary family consisting of Fred and
- Mary Bloggs and their children. Used as a standard example in
- knowledge representation to show the difference between extensional
- and intensional objects. For example, every occurrence of "Fred
- Bloggs" is the same unique person, whereas occurrences of
- "person" may refer to different people. Members of the Bloggs
- family have been known to pop up in bizarre places such as the DEC
- Telephone Directory. Compare {Mbogo, Dr. Fred}.
-
- :blow an EPROM: /bloh *n ee'prom/ v. (alt. `blast an EPROM',
- `burn an EPROM') To program a read-only memory, e.g. for use
- with an embedded system. This term arose because the programming
- process for the Programmable Read-Only Memories (PROMs) that
- preceded present-day Erasable Programmable Read-Only Memories
- (EPROMs) involved intentionally blowing tiny electrical fuses on
- the chip. The usage lives on (it's too vivid and expressive to
- discard) even though the write process on EPROMs is
- nondestructive.
-
- :blow away: vt. To remove (files and directories) from permanent
- storage, generally by accident. "He reformatted the wrong
- partition and blew away last night's netnews." Oppose {nuke}.
-
- :blow out: [prob. from mining and tunneling jargon] vi. Of
- software, to fail spectacularly; almost as serious as {crash and
- burn}. See {blow past}, {blow up}, {die
- horribly}.
-
- :blow past: vt. To {blow out} despite a safeguard. "The server blew
- past the 5K reserve buffer."
-
- :blow up: vi. 1. [scientific computation] To become unstable. Suggests
- that the computation is diverging so rapidly that it will soon
- overflow or at least go {nonlinear}. 2. Syn. {blow out}.
-
- :BLT: /B-L-T/, /bl*t/ or (rarely) /belt/ n.,vt. Synonym for
- {blit}. This is the original form of {blit} and the ancestor
- of {bitblt}. It referred to any large bit-field copy or move
- operation (one resource-intensive memory-shuffling operation done
- on pre-paged versions of ITS, WAITS, and TOPS-10 was sardonically
- referred to as `The Big BLT'). The jargon usage has outlasted the
- {PDP-10} BLock Transfer instruction from which {BLT} derives;
- nowadays, the assembler mnemonic {BLT} almost always means
- `Branch if Less Than zero'.
-
- :Blue Book: n. 1. Informal name for one of the three standard
- references on the page-layout and graphics-control language
- {{PostScript}} (`PostScript Language Tutorial and Cookbook',
- Adobe Systems, Addison-Wesley 1985, QA76.73.P67P68, ISBN
- 0-201-10179-3); the other three official guides are known as the
- {Green Book}, the {Red Book}, and the {White Book} (sense
- 2). 2. Informal name for one of the three standard references on
- Smalltalk: `Smalltalk-80: The Language and its
- Implementation', David Robson, Addison-Wesley 1983, QA76.8.S635G64,
- ISBN 0-201-11371-63 (this book also has green and red siblings).
- 3. Any of the 1988 standards issued by the CCITT's ninth plenary
- assembly. These include, among other things, the X.400 email spec
- and the Group 1 through 4 fax standards. See also {{book
- titles}}.
-
- :Blue Glue: [IBM] n. IBM's SNA (Systems Network Architecture), an
- incredibly {losing} and {bletcherous} communications protocol
- widely favored at commercial shops that don't know any better. The
- official IBM definition is "that which binds blue boxes
- together." See {fear and loathing}. It may not be irrelevant
- that {Blue Glue} is the trade name of a 3M product that is
- commonly used to hold down the carpet squares to the removable
- panel floors common in {dinosaur pen}s. A correspondent at
- U. Minn. reports that the CS department there has about 80 bottles
- of the stuff hanging about, so they often refer to any messy work
- to be done as `using the blue glue'.
-
- :blue goo: n. Term for `police' {nanobot}s intended to prevent
- {gray goo}, denature hazardous waste, destroy pollution, put
- ozone back into the stratosphere, prevent halitosis, and promote
- truth, justice, and the American way, etc. See
- {{nanotechnology}}.
-
- :blue wire: [IBM] n. Patch wires added to circuit boards at the factory to
- correct design or fabrication problems. These may be necessary if
- there hasn't been time to design and qualify another board version.
- Compare {purple wire}, {red wire}, {yellow wire}.
-
- :blurgle: /bler'gl/ [Great Britain] n. Spoken {metasyntactic
- variable}, to indicate some text that is obvious from context, or
- which is already known. If several words are to be replaced,
- blurgle may well be doubled or trebled. "To look for something in
- several files use `grep string blurgle blurgle'." In each case,
- "blurgle blurgle" would be understood to be replaced by the file
- you wished to search. Compare {mumble}, sense 6.
-
- :BNF: /B-N-F/ n. 1. [techspeak] Acronym for `Backus-Naur Form', a
- metasyntactic notation used to specify the syntax of programming
- languages, command sets, and the like. Widely used for language
- descriptions but seldom documented anywhere, so that it must
- usually be learned by osmosis from other hackers. Consider this
- BNF for a U.S. postal address:
-
- <postal-address> ::= <name-part> <street-address> <zip-part>
-
- <personal-part> ::= <name> | <initial> "."
-
- <name-part> ::= <personal-part> <last-name> [<jr-part>] <EOL>
- | <personal-part> <name-part>
-
- <street-address> ::= [<apt>] <house-num> <street-name> <EOL>
-
- <zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL>
-
- This translates into English as: "A postal-address consists of a
- name-part, followed by a street-address part, followed by a
- zip-code part. A personal-part consists of either a first name or
- an initial followed by a dot. A name-part consists of either: a
- personal-part followed by a last name followed by an optional
- `jr-part' (Jr., Sr., or dynastic number) and end-of-line, or a
- personal part followed by a name part (this rule illustrates the
- use of recursion in BNFs, covering the case of people who use
- multiple first and middle names and/or initials). A street address
- consists of an optional apartment specifier, followed by a street
- number, followed by a street name. A zip-part consists of a
- town-name, followed by a comma, followed by a state code, followed
- by a ZIP-code followed by an end-of-line." Note that many things
- (such as the format of a personal-part, apartment specifier, or
- ZIP-code) are left unspecified. These are presumed to be obvious
- from context or detailed somewhere nearby. See also {parse}.
- 2. Any of a number number of variants and extensions of BNF proper,
- possibly containing some or all of the {regexp} wildcards such
- as `*' or `+'. In fact the example above isn't the pure
- form invented for the Algol-60 report; it uses `[]', which was
- introduced a few years later in IBM's PL/I definition but is now
- universally recognized. 3. In {{science-fiction fandom}}, a
- `Big-Name Fan' (someone famous or notorious). Years ago a fan
- started handing out black-on-green BNF buttons at SF conventions;
- this confused the hacker contingent terribly.
-
- :boa: [IBM] n. Any one of the fat cables that lurk under the floor
- in a {dinosaur pen}. Possibly so called because they display a
- ferocious life of their own when you try to lay them straight and
- flat after they have been coiled for some time. It is rumored
- within IBM that channel cables for the 370 are limited to 200 feet
- because beyond that length the boas get dangerous --- and it is
- worth noting that one of the major cable makers uses the trademark
- `Anaconda'.
-
- :board: n. 1. In-context synonym for {bboard}; sometimes used
- even for USENET newsgroups (but see usage note under {bboard},
- sense 1). 2. An electronic circuit board.
-
- :boat anchor: n. 1. Like {doorstop} but more severe; implies
- that the offending hardware is irreversibly dead or useless.
- "That was a working motherboard once. One lightning strike later,
- instant boat anchor!" 2. A person who just takes up space.
- 3. (affectionate) Obsolete but still working hardware, especially
- used of an old S100-bus hobbyist system; originally a term of
- annoyance, but became more and more affectionate as the hardware
- became more and more obsolete.
-
- :BOF: /B-O-F/ or /bof/ n. Abbreviation for the phrase "Birds
- Of a Feather" (flocking together), an informal discussion group
- and/or bull session scheduled on a conference program. It is not
- clear where or when this term originated, but it is now associated
- with the USENIX conferences for UNIX techies and was already
- established there by 1984. It was used earlier than that at DECUS
- conferences and is reported to have been common at SHARE meetings
- as far back as the early 1960s.
-
- :bogo-sort: /boh`goh-sort'/ n. (var. `stupid-sort') The
- archetypical perversely awful algorithm (as opposed to {bubble
- sort}, which is merely the generic *bad* algorithm).
- Bogo-sort is equivalent to repeatedly throwing a deck of cards in
- the air, picking them up at random, and then testing whether they
- are in order. It serves as a sort of canonical example of
- awfulness. Looking at a program and seeing a dumb algorithm, one
- might say "Oh, I see, this program uses bogo-sort." Compare
- {bogus}, {brute force}, {Lasherism}.
-
- :bogometer: /boh-gom'-*t-er/ n. A notional instrument for
- measuring {bogosity}. Compare the `wankometer' described in
- the {wank} entry; see also {bogus}.
-
- :bogon: /boh'gon/ [by analogy with proton/electron/neutron, but
- doubtless reinforced after 1980 by the similarity to Douglas
- Adams's `Vogons'; see the Bibliography in {Appendix C}] n.
- 1. The elementary particle of bogosity (see {quantum
- bogodynamics}). For instance, "the Ethernet is emitting bogons
- again" means that it is broken or acting in an erratic or bogus
- fashion. 2. A query packet sent from a TCP/IP domain resolver to a
- root server, having the reply bit set instead of the query bit.
- 3. Any bogus or incorrectly formed packet sent on a network. 4. By
- synecdoche, used to refer to any bogus thing, as in "I'd like to
- go to lunch with you but I've got to go to the weekly staff
- bogon". 5. A person who is bogus or who says bogus things. This
- was historically the original usage, but has been overtaken by its
- derivative senses 1--4. See also {bogosity}, {bogus};
- compare {psyton}, {fat electrons}, {magic smoke}.
-
- The bogon has become the type case for a whole bestiary of nonce
- particle names, including the `clutron' or `cluon' (indivisible
- particle of cluefulness, obviously the antiparticle of the bogon)
- and the futon (elementary particle of {randomness}). These are
- not so much live usages in themselves as examples of a live
- meta-usage: that is, it has become a standard joke or linguistic
- maneuver to "explain" otherwise mysterious circumstances by inventing
- nonce particle names. And these imply nonce particle theories, with
- all their dignity or lack thereof (we might note parenthetically that
- this is a generalization from "(bogus particle) theories" to "bogus
- (particle theories)"!). Perhaps such particles are the modern-day
- equivalents of trolls and wood-nymphs as standard starting-points
- around which to construct explanatory myths. Of course, playing on
- an existing word (as in the `futon') yields additional flavor.
- Compare {magic smoke}.
-
- :bogon filter: /boh'gon fil'tr/ n. Any device, software or hardware,
- that limits or suppresses the flow and/or emission of bogons.
- "Engineering hacked a bogon filter between the Cray and
- the VAXen, and now we're getting fewer dropped packets." See
- also {bogosity}, {bogus}.
-
- :bogon flux: /boh'gon fluhks/ n. A measure of a supposed field of
- {bogosity} emitted by a speaker, measured by a {bogometer};
- as a speaker starts to wander into increasing bogosity a listener
- might say "Warning, warning, bogon flux is rising". See
- {quantum bogodynamics}.
-
- :bogosity: /boh-go's*-tee/ n. 1. The degree to which something is
- {bogus}. At CMU, bogosity is measured with a {bogometer}; in
- a seminar, when a speaker says something bogus, a listener might
- raise his hand and say "My bogometer just triggered". More
- extremely, "You just pinned my bogometer" means you just said or
- did something so outrageously bogus that it is off the scale,
- pinning the bogometer needle at the highest possible reading (one
- might also say "You just redlined my bogometer"). The
- agreed-upon unit of bogosity is the microLenat /mi:k`roh-len'*t/
- (uL); the consensus is that this is the largest unit practical
- for everyday use. 2. The potential field generated by a {bogon
- flux}; see {quantum bogodynamics}. See also {bogon flux},
- {bogon filter}, {bogus}.
-
- Historical note: The microLenat was invented as an attack against
- noted computer scientist Doug Lenat by a {tenured graduate
- student}. Doug had failed the student on an important exam for
- giving only "AI is bogus" as his answer to the questions. The
- slur is generally considered unmerited, but it has become a running
- gag nevertheless. Some of Doug's friends argue that *of
- course* a microLenat is bogus, since it is only one millionth of a
- Lenat. Others have suggested that the unit should be redesignated
- after the grad student, as the microReid.
-
- :bogotify: /boh-go't*-fi:/ vt. To make or become bogus. A
- program that has been changed so many times as to become completely
- disorganized has become bogotified. If you tighten a nut too hard
- and strip the threads on the bolt, the bolt has become bogotified
- and you had better not use it any more. This coinage led to the
- notional `autobogotiphobia' defined as `the fear of becoming
- bogotified'; but is not clear that the latter has ever been
- `live' jargon rather than a self-conscious joke in jargon about
- jargon. See also {bogosity}, {bogus}.
-
- :bogue out: /bohg owt/ vi. To become bogus, suddenly and
- unexpectedly. "His talk was relatively sane until somebody asked
- him a trick question; then he bogued out and did nothing but
- {flame} afterwards." See also {bogosity}, {bogus}.
-
- :bogus: adj. 1. Non-functional. "Your patches are bogus."
- 2. Useless. "OPCON is a bogus program." 3. False. "Your
- arguments are bogus." 4. Incorrect. "That algorithm is bogus."
- 5. Unbelievable. "You claim to have solved the halting problem
- for Turing Machines? That's totally bogus." 6. Silly. "Stop
- writing those bogus sagas."
-
- Astrology is bogus. So is a bolt that is obviously about to break.
- So is someone who makes blatantly false claims to have solved a
- scientific problem. (This word seems to have some, but not all, of
- the connotations of {random} --- mostly the negative ones.)
-
- It is claimed that `bogus' was originally used in the hackish sense
- at Princeton in the late 1960s. It was spread to CMU and Yale by
- Michael Shamos, a migratory Princeton alumnus. A glossary of bogus
- words was compiled at Yale when the word was first popularized (see
- {autobogotiphobia} under {bogotify}). The word spread into
- hackerdom from CMU and MIT. By the early 1980s it was also
- current in something like the hackish sense in West Coast teen
- slang, and it had gone mainstream by 1985. A correspondent from
- Cambridge reports, by contrast, that these uses of `bogus' grate on
- British nerves; in Britain the word means, rather specifically,
- `counterfeit', as in "a bogus 10-pound note".
-
- :Bohr bug: /bohr buhg/ [from quantum physics] n. A repeatable
- {bug}; one that manifests reliably under a possibly unknown but
- well-defined set of conditions. Antonym of {heisenbug}; see also
- {mandelbug}, {schroedinbug}.
-
- :boink: /boynk/ [USENET: ascribed to the TV series "Cheers"
- and "Moonlighting"] 1. To have sex with; compare {bounce},
- sense 3. (This is mainstream slang.) In Commonwealth hackish the
- variant `bonk' is more common. 2. After the original Peter Korn
- `Boinkon' {USENET} parties, used for almost any net social
- gathering, e.g., Miniboink, a small boink held by Nancy Gillett in
- 1988; Minniboink, a Boinkcon in Minnesota in 1989; Humpdayboinks,
- Wednesday get-togethers held in the San Francisco Bay Area.
- Compare {@-party}. 3. Var of `bonk'; see
- {bonk/oif}.
-
- :bomb: 1. v. General synonym for {crash} (sense 1) except that
- it is not used as a noun; esp. used of software or OS failures.
- "Don't run Empire with less than 32K stack, it'll bomb."
- 2. n.,v. Atari ST and Macintosh equivalents of a UNIX `panic' or
- Amiga {guru} (sense 2), in which icons of little black-powder
- bombs or mushroom clouds are displayed, indicating that the system
- has died. On the Mac, this may be accompanied by a decimal (or
- occasionally hexadecimal) number indicating what went wrong,
- similar to the Amiga {guru meditation} number. {{MS-DOS}}
- machines tend to get {locked up} in this situation.
-
- :bondage-and-discipline language: A language (such as {{Pascal}},
- {{Ada}}, APL, or Prolog) that, though ostensibly general-purpose,
- is designed so as to enforce an author's theory of `right
- programming' even though said theory is demonstrably inadequate for
- systems hacking or even vanilla general-purpose programming. Often
- abbreviated `B&D'; thus, one may speak of things "having the
- B&D nature". See {{Pascal}}; oppose {languages of
- choice}.
-
- :bonk/oif: /bonk/, /oyf/ interj. In the {MUD} community, it
- has become traditional to express pique or censure by `bonking'
- the offending person. Convention holds that one should acknowledge
- a bonk by saying `oif!' and there is a myth to the effect that
- failing to do so upsets the cosmic bonk/oif balance, causing much
- trouble in the universe. Some MUDs have implemented special
- commands for bonking and oifing. See also {talk mode}.
-
- :book titles:: There is a tradition in hackerdom of informally
- tagging important textbooks and standards documents with the
- dominant color of their covers or with some other conspicuous
- feature of the cover. Many of these are described in this lexicon
- under their own entries. See {Aluminum Book}, {Blue Book},
- {Cinderella Book}, {Devil Book}, {Dragon Book}, {Green
- Book}, {Orange Book}, {Pink-Shirt Book}, {Purple Book},
- {Red Book}, {Silver Book}, {White Book}, {Wizard Book},
- {Yellow Book}, and {bible}; see also {rainbow
- series}.
-
- :boot: [techspeak; from `by one's bootstraps'] v.,n. To load and
- initialize the operating system on a machine. This usage is no
- longer jargon (having passed into techspeak) but has given rise to
- some derivatives that are still jargon.
-
- The derivative `reboot' implies that the machine hasn't been
- down for long, or that the boot is a {bounce} intended to clear
- some state of {wedgitude}. This is sometimes used of human
- thought processes, as in the following exchange: "You've lost
- me." "OK, reboot. Here's the theory...."
-
- This term is also found in the variants `cold boot' (from
- power-off condition) and `warm boot' (with the CPU and all
- devices already powered up, as after a hardware reset or software
- crash).
-
- Another variant: `soft boot', reinitialization of only part of a
- system, under control of other software still running: "If
- you're running the {mess-dos} emulator, control-alt-insert will
- cause a soft-boot of the emulator, while leaving the rest of the
- system running."
-
- Opposed to this there is `hard boot', which connotes hostility
- towards or frustration with the machine being booted: "I'll have
- to hard-boot this losing Sun." "I recommend booting it
- hard." One often hard-boots by performing a {power cycle}.
-
- Historical note: this term derives from `bootstrap loader', a short
- program that was read in from cards or paper tape, or toggled in
- from the front panel switches. This program was always very short
- (great efforts were expended on making it short in order to
- minimize the labor and chance of error involved in toggling it in),
- but was just smart enough to read in a slightly more complex
- program (usually from a card or paper tape reader), to which it
- handed control; this program in turn was smart enough to read the
- application or operating system from a magnetic tape drive or disk
- drive. Thus, in successive steps, the computer `pulled itself up
- by its bootstraps' to a useful operating state. Nowadays the
- bootstrap is usually found in ROM or EPROM, and reads the first
- stage in from a fixed location on the disk, called the `boot
- block'. When this program gains control, it is powerful enough to
- load the actual OS and hand control over to it.
-
- :bottom feeder: n. syn. for {slopsucker}, derived from the
- fishermen's and naturalists' term for finny creatures who subsist
- on the primordial ooze.
-
- :bottom-up implementation: n. Hackish opposite of the techspeak term
- `top-down design'. It is now received wisdom in most
- programming cultures that it is best to design from higher levels
- of abstraction down to lower, specifying sequences of action in
- increasing detail until you get to actual code. Hackers often find
- (especially in exploratory designs that cannot be closely
- specified in advance) that it works best to *build* things in
- the opposite order, by writing and testing a clean set of primitive
- operations and then knitting them together.
-
- :bounce: v. 1. [perhaps by analogy to a bouncing check] An
- electronic mail message that is undeliverable and returns an error
- notification to the sender is said to `bounce'. See also
- {bounce message}. 2. [Stanford] To play volleyball. The
- now-demolished {D. C. Power Lab} building used by the Stanford
- AI Lab in the 1970s had a volleyball court on the front lawn. From
- 5 P.M. to 7 P.M. was the scheduled maintenance time for the
- computer, so every afternoon at 5 would come over the intercom the
- cry: "Now hear this: bounce, bounce!", followed by Brian McCune
- loudly bouncing a volleyball on the floor outside the offices of
- known volleyballers. 3. To engage in sexual intercourse; prob.
- from the expression `bouncing the mattress', but influenced by
- Roo's psychosexually loaded "Try bouncing me, Tigger!" from the
- "Winnie-the-Pooh" books. Compare {boink}. 4. To casually
- reboot a system in order to clear up a transient problem. Reported
- primarily among {VMS} users. 5. [VM/CMS programmers]
- *Automatic* warm-start of a machine after an error. "I
- logged on this morning and found it had bounced 7 times during the
- night" 6. [IBM] To {power cycle} a peripheral in order to reset
- it.
-
- :bounce message: [UNIX] n. Notification message returned to sender
- by a site unable to relay {email} to the intended {{Internet
- address}} recipient or the next link in a {bang path} (see
- {bounce}). Reasons might include a nonexistent or misspelled
- username or a {down} relay site. Bounce messages can themselves
- fail, with occasionally ugly results; see {sorcerer's apprentice
- mode} and {software laser}. The terms `bounce mail' and
- `barfmail' are also common.
-
- :boustrophedon: [from a Greek word for turning like an ox while
- plowing] n. An ancient method of writing using alternate
- left-to-right and right-to-left lines. This term is actually
- philologists' techspeak and typesetters' jargon. Erudite hackers
- use it for an optimization performed by some computer typesetting
- software and moving-head printers. The adverbial form
- `boustrophedonically' is also found (hackers purely love
- constructions like this).
-
- :box: n. 1. A computer; esp. in the construction `foo box'
- where foo is some functional qualifier, like `graphics', or
- the name of an OS (thus, `UNIX box', `MS-DOS box', etc.) "We
- preprocess the data on UNIX boxes before handing it up to the
- mainframe." 2. [IBM] Without qualification but within an
- SNA-using site, this refers specifically to an IBM front-end
- processor or FEP /F-E-P/. An FEP is a small computer necessary
- to enable an IBM {mainframe} to communicate beyond the limits of
- the {dinosaur pen}. Typically used in expressions like the cry
- that goes up when an SNA network goes down: "Looks like the
- {box} has fallen over." (See {fall over}.) See also
- {IBM}, {fear and loathing}, {fepped out}, {Blue
- Glue}.
-
- :boxed comments: n. Comments (explanatory notes attached to program
- instructions) that occupy several lines by themselves; so called
- because in assembler and C code they are often surrounded by a box
- in a style something like this:
-
- /*************************************************
- *
- * This is a boxed comment in C style
- *
- *************************************************/
-
- Common variants of this style omit the asterisks in column 2 or add
- a matching row of asterisks closing the right side of the box. The
- sparest variant omits all but the comment delimiters themselves;
- the `box' is implied. Oppose {winged comments}.
-
- :boxen: /bok'sn/ [by analogy with {VAXen}] pl.n. Fanciful
- plural of {box} often encountered in the phrase `UNIX boxen',
- used to describe commodity {{UNIX}} hardware. The connotation is
- that any two UNIX boxen are interchangeable.
-
- :boxology: /bok-sol'*-jee/ n. Syn. {ASCII art}. This term
- implies a more restricted domain, that of box-and-arrow drawings.
- "His report has a lot of boxology in it." Compare
- {macrology}.
-
- :bozotic: /boh-zoh'tik/ or /boh-zo'tik/ [from the name of a TV
- clown even more losing than Ronald McDonald] adj. Resembling or
- having the quality of a bozo; that is, clownish, ludicrously wrong,
- unintentionally humorous. Compare {wonky}, {demented}. Note
- that the noun `bozo' occurs in slang, but the mainstream
- adjectival form would be `bozo-like' or (in New England)
- `bozoish'.
-
- :BQS: /B-Q-S/ adj. Syn. {Berkeley Quality Software}.
-
- :brain dump: n. The act of telling someone everything one knows
- about a particular topic or project. Typically used when someone
- is going to let a new party maintain a piece of code. Conceptually
- analogous to an operating system {core dump} in that it saves a
- lot of useful {state} before an exit. "You'll have to
- give me a brain dump on FOOBAR before you start your new job at
- HackerCorp." See {core dump} (sense 4). At Sun, this is also
- known as `TOI' (transfer of information).
-
- :brain fart: n. The actual result of a {braino}, as opposed to
- the mental glitch that is the braino itself. E.g., typing
- `dir' on a UNIX box after a session with DOS.
-
- :brain-damaged: 1. [generalization of `Honeywell Brain Damage'
- (HBD), a theoretical disease invented to explain certain utter
- cretinisms in Honeywell {{Multics}}] adj. Obviously wrong;
- {cretinous}; {demented}. There is an implication that the
- person responsible must have suffered brain damage, because he
- should have known better. Calling something brain-damaged is
- really bad; it also implies it is unusable, and that its failure to
- work is due to poor design rather than some accident. "Only six
- monocase characters per file name? Now *that's*
- brain-damaged!" 2. [esp. in the Mac world] May refer to free
- demonstration software that has been deliberately crippled in some
- way so as not to compete with the commercial product it is
- intended to sell. Syn. {crippleware}.
-
- :brain-dead: adj. Brain-damaged in the extreme. It tends to imply
- terminal design failure rather than malfunction or simple
- stupidity. "This comm program doesn't know how to send a break
- --- how brain-dead!"
-
- :braino: /bray'no/ n. Syn. for {thinko}. See also {brain
- fart}.
-
- :branch to Fishkill: [IBM: from the location of one of the
- corporation's facilities] n. Any unexpected jump in a program that
- produces catastrophic or just plain weird results. See {jump
- off into never-never land}, {hyperspace}.
-
- :bread crumbs: n. Debugging statements inserted into a program that
- emit output or log indicators of the program's {state} to a file
- so you can see where it dies or pin down the cause of surprising
- behavior. The term is probably a reference to the Hansel and Gretel
- story from the Brothers Grimm; in several variants, a character
- leaves a trail of bread crumbs so as not to get lost in the
- woods.
-
- :break: 1. vt. To cause to be {broken} (in any sense). "Your latest
- patch to the editor broke the paragraph commands." 2. v. (of a
- program) To stop temporarily, so that it may debugged. The place
- where it stops is a `breakpoint'. 3. [techspeak] vi. To send an
- RS-232 break (two character widths of line high) over a serial comm
- line. 4. [UNIX] vi. To strike whatever key currently causes the
- tty driver to send SIGINT to the current process. Normally, break
- (sense 3), delete or {control-C} does this. 5. `break break'
- may be said to interrupt a conversation (this is an example of verb
- doubling). This usage comes from radio communications, which in
- turn probably came from landline telegraph/teleprinter usage, as
- badly abused in the Citizen's Band craze a few years ago.
-
- :break-even point: n. in the process of implementing a new computer
- language, the point at which the language is sufficiently effective
- that one can implement the language in itself. That is, for a new
- language called, hypothetically, FOOGOL, one has reached break-even
- when one can write a demonstration compiler for FOOGOL in FOOGOL,
- discard the original implementation language, and thereafter use
- working versions of FOOGOL to develop newer ones. This is an
- important milestone; see {MFTL}.
-
- [Since this entry was first written, several correspondents have
- reported that there actually was a compiler for a tiny Algol-like
- language called Foogol floating around on various {vaxen} in the
- early and mid-1980s. The above example may not, after all, be
- hypothetical. -- ESR]
-
- :breath-of-life packet: [XEROX PARC] n. An Ethernet packet that
- contains bootstrap (see {boot}) code, periodically sent out
- from a working computer to infuse the `breath of life' into any
- computer on the network that has happened to crash. Machines
- depending on such packets have sufficient hardware or firmware code
- to wait for (or request) such a packet during the reboot process.
- See also {dickless workstation}.
-
- The `kiss-of-death packet', with a function complementary to that of
- a breath-of-life packet, is recommended for dealing with hosts that
- consume too many network resources. There is at least one documented
- instance of an Internet subnet with limited addres-table slots in a
- gateway machine in which kiss-of-death packets were routinely used
- to compete for slots, rather like Christmas shoppers competing for
- scarce parking spaces.
-
- :breedle: n. See {feep}.
-
- :bring X to its knees: v. To present a machine, operating system,
- piece of software, or algorithm with a load so extreme or
- {pathological} that it grinds to a halt. "To bring a MicroVAX
- to its knees, try twenty users running {vi} --- or four running
- {EMACS}." Compare {hog}.
-
- :brittle: adj. Said of software that is functional but easily
- broken by changes in operating environment or configuration, or by
- any minor tweak to the software itself. Also, any system that
- responds inappropriately and disastrously to abnormal but expected
- external stimuli; e.g., a file system that is usually totally
- scrambled by a power failure is said to be brittle. This term is
- often used to describe the results of a research effort that were
- never intended to be robust, but it can be applied to commercially
- developed software, which displays the quality far more often than
- it ought to. Oppose {robust}.
-
- :broadcast storm: n. An incorrect packet broadcast on a network that
- causes most hosts to respond all at once, typically with wrong
- answers that start the process over again. See {network
- meltdown}.
-
- :brochureware: n. Planned but non-existent product like
- {vaporware}, but with the added implication that marketing is
- actively selling and promoting it (they've printed brochures).
- Brochureware is often deployed as a strategic weapon; the idea is
- to con customers into not committing to an existing product of the
- competition's. It is a safe bet that when a brochureware product
- finally becomes real, it will be more expensive than and inferior
- to the alternatives that had been available for years.
-
- :broken: adj. 1. Not working properly (of programs). 2. Behaving
- strangely; especially (when used of people) exhibiting extreme
- depression.
-
- :broken arrow: [IBM] n. The error code displayed on line 25 of a
- 3270 terminal (or a PC emulating a 3270) for various kinds of
- protocol violations and "unexpected" error conditions (including
- connection to a {down} computer). On a PC, simulated with
- `->/_', with the two center characters overstruck.
-
- Note: to appreciate this term fully, it helps to know that `broken
- arrow' is also military jargon for an accident involving nuclear
- weapons....
-
- :broket: /broh'k*t/ or /broh'ket`/ [by analogy with `bracket': a
- `broken bracket'] n. Either of the characters `<' and `>',
- when used as paired enclosing delimiters. This word
- originated as a contraction of the phrase `broken bracket', that
- is, a bracket that is bent in the middle. (At MIT, and apparently
- in the {Real World} as well, these are usually called {angle
- brackets}.)
-
- :Brooks's Law: prov. "Adding manpower to a late software project
- makes it later" --- a result of the fact that the expected
- advantage from splitting work among N programmers is
- O(N) (that is, proportional to N), but the complexity
- and communications cost associated with coordinating and then
- merging their work is O(N^2) (that is, proportional to the
- square of N). The quote is from Fred Brooks, a manager of
- IBM's OS/360 project and author of `The Mythical Man-Month'
- (Addison-Wesley, 1975, ISBN 0-201-00650-2), an excellent early book
- on software engineering. The myth in question has been most
- tersely expressed as "Programmer time is fungible" and Brooks
- established conclusively that it is not. Hackers have never
- forgotten his advice; too often, {management} still does. See
- also {creationism}, {second-system effect},
- {optimism}.
-
- :BRS: /B-R-S/ n. Syn. {Big Red Switch}. This abbreviation is
- fairly common on-line.
-
- :brute force: adj. Describes a primitive programming style, one in
- which the programmer relies on the computer's processing power
- instead of using his or her own intelligence to simplify the
- problem, often ignoring problems of scale and applying naive
- methods suited to small problems directly to large ones. The term
- can also be used in reference to programming style: brute-force
- programs are written in a heavyhanded, tedious way, full of
- repetition and devoid of any elegance or useful abstraction (see
- also {brute force and ignorance}).
-
- The {canonical} example of a brute-force algorithm is associated
- with the `traveling salesman problem' (TSP), a classical
- {NP-}hard problem: Suppose a person is in, say, Boston, and
- wishes to drive to N other cities. In what order should the
- cities be visited in order to minimize the distance travelled? The
- brute-force method is to simply generate all possible routes and
- compare the distances; while guaranteed to work and simple to
- implement, this algorithm is clearly very stupid in that it
- considers even obviously absurd routes (like going from Boston to
- Houston via San Francisco and New York, in that order). For very
- small N it works well, but it rapidly becomes absurdly
- inefficient when N increases (for N = 15, there are
- already 1,307,674,368,000 possible routes to consider, and for
- N = 1000 --- well, see {bignum}). Sometimes,
- unfortunately, there is no better general solution than brute
- force. See also {NP-}.
-
- A more simple-minded example of brute-force programming is finding
- the smallest number in a large list by first using an existing
- program to sort the list in ascending order, and then picking the
- first number off the front.
-
- Whether brute-force programming should actually be considered
- stupid or not depends on the context; if the problem is not
- terribly big, the extra CPU time spent on a brute-force solution
- may cost less than the programmer time it would take to develop a
- more `intelligent' algorithm. Additionally, a more intelligent
- algorithm may imply more long-term complexity cost and bug-chasing
- than are justified by the speed improvement.
-
- Ken Thompson, co-inventor of UNIX, is reported to have uttered the
- epigram "When in doubt, use brute force". He probably intended
- this as a {ha ha only serious}, but the original UNIX kernel's
- preference for simple, robust, and portable algorithms over
- {brittle} `smart' ones does seem to have been a significant
- factor in the success of that OS. Like so many other tradeoffs in
- software design, the choice between brute force and complex,
- finely-tuned cleverness is often a difficult one that requires both
- engineering savvy and delicate esthetic judgment.
-
- :brute force and ignorance: n. A popular design technique at many
- software houses --- {brute force} coding unrelieved by any
- knowledge of how problems have been previously solved in elegant
- ways. Dogmatic adherence to design methodologies tends to
- encourage this sort of thing. Characteristic of early {larval
- stage} programming; unfortunately, many never outgrow it. Often
- abbreviated BFI: "Gak, they used a {bubble sort}! That's
- strictly from BFI." Compare {bogosity}.
-
- :BSD: /B-S-D/ n. [abbreviation for `Berkeley System Distribution'] a
- family of {{UNIX}} versions for the DEC {VAX} and PDP-11
- developed by Bill Joy and others at {Berzerkeley} starting
- around 1980, incorporating paged virtual memory, TCP/IP networking
- enhancements, and many other features. The BSD versions (4.1, 4.2,
- and 4.3) and the commercial versions derived from them (SunOS,
- ULTRIX, and Mt. Xinu) held the technical lead in the UNIX world
- until AT&T's successful standardization efforts after about 1986,
- and are still widely popular. See {{UNIX}}, {USG UNIX}.
-
- :BUAF: // [abbreviation, from alt.fan.warlord] n. Big
- Ugly ASCII Font --- a special form of {ASCII art}. Various
- programs exist for rendering text strings into block, bloob, and
- pseudo-script fonts in cells between four and six character cells
- on a side; this is smaller than the letters generated by older
- {banner} (sense 2) programs. These are sometimes used to render
- one's name in a {sig block}, and are critically referred to as
- `BUAF's. See {warlording}.
-
- :BUAG: // [abbreviation, from alt.fan.warlord] n. Big Ugly
- ASCII Graphic. Pejorative term for ugly {ASCII ART}, especially
- as found in {sig block}s. For some reason, mutations of the
- head of Bart Simpson are particularly common in the least
- imaginative {sig block}s. See {warlording}.
-
- :bubble sort: n. Techspeak for a particular sorting technique in
- which pairs of adjacent values in the list to be sorted are
- compared and interchanged if they are out of order; thus, list
- entries `bubble upward' in the list until they bump into one with a
- lower sort value. Because it is not very good relative to other
- methods and is the one typically stumbled on by {naive} and
- untutored programmers, hackers consider it the {canonical}
- example of a naive algorithm. The canonical example of a really
- *bad* algorithm is {bogo-sort}. A bubble sort might be used
- out of ignorance, but any use of bogo-sort could issue only from
- brain damage or willful perversity.
-
- :bucky bits: /buh'kee bits/ n. 1. obs. The bits produced by the
- CONTROL and META shift keys on a SAIL keyboard (octal 200 and 400
- respectively), resulting in a 9-bit keyboard character set. The
- MIT AI TV (Knight) keyboards extended this with TOP and separate
- left and right CONTROL and META keys, resulting in a 12-bit
- character set; later, LISP Machines added such keys as SUPER,
- HYPER, and GREEK (see {space-cadet keyboard}). 2. By extension,
- bits associated with `extra' shift keys on any keyboard, e.g.,
- the ALT on an IBM PC or command and option keys on a Macintosh.
-
- It has long been rumored that `bucky bits' were named for
- Buckminster Fuller during a period when he was consulting at
- Stanford. Actually, bucky bits were invented by Niklaus Wirth when
- *he* was at Stanford; he first suggested the idea of an EDIT
- key to set the 8th bit of an otherwise 7-bit ASCII character. This
- was used in a number of editors written at Stanford or in its
- environs (TV-EDIT and NLS being the best-known). Some sources
- claim that `Bucky' was Niklaus Wirth's nickname st Stanford,
- but Wirth himself does not recall this.
-
- Whatever its origins, the term spread to MIT and CMU early and is
- now in general use. See {double bucky}, {quadruple
- bucky}.
-
- :buffer overflow: n. What happens when you try to stuff more data
- into a buffer (holding area) than it can handle. This may be due
- to a mismatch in the processing rates of the producing and
- consuming processes (see {overrun} and {firehose syndrome}),
- or because the buffer is simply too small to hold all the data that
- must accumulate before a piece of it can be processed. For example,
- in a text-processing tool that {crunch}es a line at a time, a
- short line buffer can result in {lossage} as input from a long
- line overflows the buffer and trashes data beyond it. Good
- defensive programming would check for overflow on each character
- and stop accepting data when the buffer is full up. The term is
- used of and by humans in a metaphorical sense. "What time did I
- agree to meet you? My buffer must have overflowed." Or "If I
- answer that phone my buffer is going to overflow." See also
- {spam}, {overrun screw}.
-
- :bug: n. An unwanted and unintended property of a program or piece
- of hardware, esp. one that causes it to malfunction. Antonym of
- {feature}. Examples: "There's a bug in the editor: it writes
- things out backwards." "The system crashed because of a hardware
- bug." "Fred is a winner, but he has a few bugs" (i.e., Fred is
- a good guy, but he has a few personality problems).
-
- Historical note: Admiral Grace Hopper (an early computing pioneer
- better known for inventing {COBOL}) liked to tell a story in
- which a technician solved a persistent {glitch} in the Harvard
- Mark II machine by pulling an actual insect out from between the
- contacts of one of its relays, and she subsequently promulgated
- {bug} in its hackish sense as a joke about the incident (though,
- as she was careful to admit, she was not there when it happened).
- For many years the logbook associated with the incident and the
- actual bug in question (a moth) sat in a display case at the Naval
- Surface Warfare Center (NSWC). The entire story, with a picture of
- the logbook and the moth taped into it, is recorded in the
- `Annals of the History of Computing', Vol. 3, No. 3
- (July 1981), pp. 285--286.
-
- The text of the log entry (from September 9, 1947), reads "1545
- Relay #70 Panel F (moth) in relay. First actual case of bug being
- found". This wording establishes that the term was already
- in use at the time in its current specific sense --- and Hopper
- herself reports that the term `bug' was regularly applied to
- problems in radar electronics during WWII.
-
- Indeed, the use of `bug' to mean an industrial defect was already
- established in Thomas Edison's time, and a more specific and rather
- modern use can be found in an electrical handbook from 1896
- (`Hawkin's New Catechism of Electricity', Theo. Audel & Co.)
- which says: "The term `bug' is used to a limited extent to
- designate any fault or trouble in the connections or working of
- electric apparatus." It further notes that the term is "said to
- have originated in quadruplex telegraphy and have been transferred
- to all electric apparatus."
-
- The latter observation may explain a common folk etymology of the
- term; that it came from telephone company usage, in which "bugs in
- a telephone cable" were blamed for noisy lines. Though this
- derivation seems to be mistaken, it may well be a distorted memory
- of a joke first current among *telegraph* operators more than
- a century ago!
-
- Actually, use of `bug' in the general sense of a disruptive event
- goes back to Shakespeare! In the first edition of Samuel Johnson's
- dictionary one meaning of `bug' is "A frightful object; a
- walking spectre"; this is traced to `bugbear', a Welsh term for
- a variety of mythological monster which (to complete the circle)
- has recently been reintroduced into the popular lexicon through
- fantasy role-playing games.
-
- In any case, in jargon the word almost never refers to insects.
- Here is a plausible conversation that never actually happened:
-
- "There is a bug in this ant farm!"
-
- "What do you mean? I don't see any ants in it."
-
- "That's the bug."
-
- [There has been a widespread myth that the original bug was moved
- to the Smithsonian, and an earlier version of this entry so
- asserted. A correspondent who thought to check discovered that the
- bug was not there. While investigating this in late 1990, your
- editor discovered that the NSWC still had the bug, but had
- unsuccessfully tried to get the Smithsonian to accept it --- and
- that the present curator of their History of American Technology
- Museum didn't know this and agreed that it would make a worthwhile
- exhibit. It was moved to the Smithsonian in mid-1991. Thus, the
- process of investigating the original-computer-bug bug fixed it in
- an entirely unexpected way, by making the myth true! --- ESR]
-
- [1992 update: the plot thickens! A usually reliable source reports
- having seen The Bug at the Smithsonian in 1978. I am unable to
- reconcile the conflicting histories I have been offered, and merely
- report this fact here. --- ESR.]
-
- :bug-compatible: adj. Said of a design or revision that has been
- badly compromised by a requirement to be compatible with
- {fossil}s or {misfeature}s in other programs or (esp.)
- previous releases of itself. "MS-DOS 2.0 used \ as a path
- separator to be bug-compatible with some cretin's choice of / as an
- option character in 1.0."
-
- :bug-for-bug compatible: n. Same as {bug-compatible}, with the
- additional implication that much tedious effort went into ensuring
- that each (known) bug was replicated.
-
- :buglix: /buhg'liks/ n. Pejorative term referring to DEC's ULTRIX
- operating system in its earlier *severely* buggy versions.
- Still used to describe ULTRIX, but without nearly so much venom.
- Compare {AIDX}, {HP-SUX}, {Nominal Semidestructor},
- {Telerat}, {sun-stools}.
-
- :bulletproof: adj. Used of an algorithm or implementation
- considered extremely {robust}; lossage-resistant; capable of
- correctly recovering from any imaginable exception condition --- a
- rare and valued quality. Syn. {armor-plated}.
-
- :bum: 1. vt. To make highly efficient, either in time or space,
- often at the expense of clarity. "I managed to bum three more
- instructions out of that code." "I spent half the night bumming
- the interrupt code." In {elder days}, John McCarthy (inventor
- of {LISP}) used to compare some efficiency-obsessed hackers
- among his students to "ski bums"; thus, optimization became
- "program bumming", and eventually just "bumming". 2. To
- squeeze out excess; to remove something in order to improve
- whatever it was removed from (without changing function; this
- distinguishes the process from a {featurectomy}). 3. n. A small
- change to an algorithm, program, or hardware device to make it more
- efficient. "This hardware bum makes the jump instruction
- faster." Usage: now uncommon, largely superseded by v. {tune}
- (and n. {tweak}, {hack}), though none of these exactly
- capture sense 2. All these uses are rare in Commonwealth hackish,
- because in the parent dialects of English `bum' is a rude synonym
- for `buttocks'.
-
- :bump: vt. Synonym for increment. Has the same meaning as
- C's ++ operator. Used esp. of counter variables, pointers, and
- index dummies in `for', `while', and `do-while'
- loops.
-
- :burble: [from Lewis Carroll's "Jabberwocky"] v. Like {flame},
- but connotes that the source is truly clueless and ineffectual
- (mere flamers can be competent). A term of deep contempt.
- "There's some guy on the phone burbling about how he got a DISK
- FULL error and it's all our comm software's fault." This
- is mainstream slang in some parts of England.
-
- :buried treasure: n. A surprising piece of code found in some
- program. While usually not wrong, it tends to vary from {crufty}
- to {bletcherous}, and has lain undiscovered only because it was
- functionally correct, however horrible it is. Used sarcastically,
- because what is found is anything *but* treasure. Buried
- treasure almost always needs to be dug up and removed. "I just
- found that the scheduler sorts its queue using {bubble sort}!
- Buried treasure!"
-
- :burn-in period: n. 1. A factory test designed to catch systems
- with {marginal} components before they get out the door; the
- theory is that burn-in will protect customers by outwaiting the
- steepest part of the {bathtub curve} (see {infant
- mortality}). 2. A period of indeterminate length in which a person
- using a computer is so intensely involved in his project that he
- forgets basic needs such as food, drink, sleep, etc. Warning:
- Excessive burn-in can lead to burn-out. See {hack mode},
- {larval stage}.
-
- :burst page: n. Syn. {banner}, sense 1.
-
- :busy-wait: vi. Used of human behavior, conveys that the subject is
- busy waiting for someone or something, intends to move instantly as
- soon as it shows up, and thus cannot do anything else at the
- moment. "Can't talk now, I'm busy-waiting till Bill gets off the
- phone."
-
- Technically, `busy-wait' means to wait on an event by
- {spin}ning through a tight or timed-delay loop that polls for
- the event on each pass, as opposed to setting up an interrupt
- handler and continuing execution on another part of the task. This
- is a wasteful technique, best avoided on time-sharing systems where
- a busy-waiting program may {hog} the processor.
-
- :buzz: vi. 1. Of a program, to run with no indication of progress
- and perhaps without guarantee of ever finishing; esp. said of
- programs thought to be executing tight loops of code. A program
- that is buzzing appears to be {catatonic}, but never gets out
- of catatonia, while a buzzing loop may eventually end of its own
- accord. "The program buzzes for about 10 seconds trying to sort
- all the names into order." See {spin}; see also {grovel}.
- 2. [ETA Systems] To test a wire or printed circuit trace for
- continuity by applying an AC rather than DC signal. Some wire
- faults will pass DC tests but fail a buzz test. 3. To process an
- array or list in sequence, doing the same thing to each element.
- "This loop buzzes through the tz array looking for a terminator
- type."
-
- :BWQ: /B-W-Q/ [IBM: abbreviation, `Buzz Word Quotient'] The
- percentage of buzzwords in a speech or documents. Usually roughly
- proportional to {bogosity}. See {TLA}.
-
- :by hand: adv. 1. Said of an operation (especially a repetitive,
- trivial, and/or tedious one) that ought to be performed
- automatically by the computer, but which a hacker instead has to
- step tediously through. "My mailer doesn't have a command to
- include the text of the message I'm replying to, so I have to do it
- by hand." This does not necessarily mean the speaker has to
- retype a copy of the message; it might refer to, say, dropping into
- a subshell from the mailer, making a copy of one's mailbox
- file, reading that into an editor, locating the top and bottom of
- the message in question, deleting the rest of the file, inserting
- `>' characters on each line, writing the file, leaving the editor,
- returning to the mailer, reading the file in, and later remembering
- to delete the file. Compare {eyeball search}. 2. By extension,
- writing code which does something in an explicit or low-level way
- for which a presupplied library routine ought to have been
- available. "This cretinous B-tree library doesn't supply a decent
- iterator, so I'm having to walk the trees by hand."
-
- :byte:: /bi:t/ [techspeak] n. A unit of memory or data equal to
- the amount used to represent one character; on modern architectures
- this is usually 8 bits, but may be 9 on 36-bit machines. Some
- older architectures used `byte' for quantities of 6 or 7 bits, and
- the PDP-10 supported `bytes' that were actually bitfields of
- 1 to 36 bits! These usages are now obsolete, and even 9-bit bytes
- have become rare in the general trend toward power-of-2 word sizes.
-
- Historical note: The term was coined by Werner Buchholz in 1956
- during the early design phase for the IBM Stretch computer;
- originally it was described as 1 to 6 bits (typical I/O equipment
- of the period used 6-bit chunks of information). The move to an
- 8-bit byte happened in late 1956, and this size was later adopted
- and promulgated as a standard by the System/360. The word was
- coined by mutating the word `bite' so it would not be
- accidentally misspelled as {bit}. See also {nybble}.
-
- :bytesexual: /bi:t`sek'shu-*l/ adj. Said of hardware, denotes
- willingness to compute or pass data in either {big-endian} or
- {little-endian} format (depending, presumably, on a {mode bit}
- somewhere). See also {NUXI problem}.
-
- :bzzzt, wrong: /bzt rong/ [USENET/Internet] From a Robin Williams
- routine in the movie "Dead Poets Society" spoofing radio or
- TV quiz programs, such as *Truth or Consequences*, where an
- incorrect answer earns one a blast from the buzzer and condolences
- from the interlocutor. A way of expressing mock-rude disagreement,
- usually immediately following an included quote from another
- poster. The less abbreviated "*Bzzzzt*, wrong, but thank you for
- playing" is also common; capitalization and emphasis of the
- buzzer sound varies.
-
- = C =
- =====
-
- :C: n. 1. The third letter of the English alphabet. 2. ASCII
- 1000011. 3. The name of a programming language designed by
- Dennis Ritchie during the early 1970s and immediately used to
- reimplement {{UNIX}}; so called because many features derived
- from an earlier compiler named `B' in commemoration of
- *its* parent, BCPL. Before Bjarne Stroustrup settled the
- question by designing C++, there was a humorous debate over whether
- C's successor should be named `D' or `P'. C became immensely
- popular outside Bell Labs after about 1980 and is now the dominant
- language in systems and microcomputer applications programming.
- See also {languages of choice}, {indent style}.
-
- C is often described, with a mixture of fondness and disdain
- varying according to the speaker, as "a language that combines
- all the elegance and power of assembly language with all the
- readability and maintainability of assembly language".
-
- :C Programmer's Disease: n. The tendency of the undisciplined C
- programmer to set arbitrary but supposedly generous static limits
- on table sizes (defined, if you're lucky, by constants in header
- files) rather than taking the trouble to do proper dynamic storage
- allocation. If an application user later needs to put 68 elements
- into a table of size 50, the afflicted programmer reasons that he
- or she can easily reset the table size to 68 (or even as much as
- 70, to allow for future expansion) and recompile. This gives the
- programmer the comfortable feeling of having made the effort to
- satisfy the user's (unreasonable) demands, and often affords the
- user multiple opportunities to explore the marvelous consequences
- of {fandango on core}. In severe cases of the disease, the
- programmer cannot comprehend why each fix of this kind seems only
- to further disgruntle the user.
-
- :calculator: [Cambridge] n. Syn. for {bitty box}.
-
- :can: vt. To abort a job on a time-sharing system. Used esp. when the
- person doing the deed is an operator, as in "canned from the
- {{console}}". Frequently used in an imperative sense, as in "Can
- that print job, the LPT just popped a sprocket!" Synonymous with
- {gun}. It is said that the ASCII character with mnemonic CAN
- (0011000) was used as a kill-job character on some early OSes.
- Alternatively, this may derive from mainstream slang `canned' for
- being laid off or fired.
-
- :can't happen: The traditional program comment for code executed
- under a condition that should never be true, for example a file
- size computed as negative. Often, such a condition being true
- indicates data corruption or a faulty algorithm; it is almost
- always handled by emitting a fatal error message and terminating or
- crashing, since there is little else that can be done. Some case
- variant of "can't happen" is also often the text emitted if the
- `impossible' error actually happens! Although "can't happen"
- events are genuinely infrequent in production code, programmers
- wise enough to check for them habitually are often surprised at how
- frequently they are triggered during development and how many
- headaches checking for them turns out to head off. See also
- {firewall code} (sense 2).
-
- :candygrammar: n. A programming-language grammar that is mostly
- {syntactic sugar}; the term is also a play on `candygram'.
- {COBOL}, Apple's Hypertalk language, and a lot of the so-called
- `4GL' database languages share this property. The usual intent
- of such designs is that they be as English-like as possible, on the
- theory that they will then be easier for unskilled people to
- program. This intention comes to grief on the reality that syntax
- isn't what makes programming hard; it's the mental effort and
- organization required to specify an algorithm precisely that
- costs. Thus the invariable result is that `candygrammar'
- languages are just as difficult to program in as terser ones, and
- far more painful for the experienced hacker.
-
- [The overtones from the old Chevy Chase skit on Saturday Night Live
- should not be overlooked. This was a "Jaws" parody.
- Someone lurking outside an apartment door tries all kinds of bogus
- ways to get the occupant to open up, while ominous music plays in
- the background. The last attempt is a half-hearted "Candygram!"
- When the door is opened, a shark bursts in and chomps the poor
- occupant. There is a moral here for those attracted to
- candygrammars. Note that, in many circles, pretty much the same
- ones who remember Monty Python sketches, all it takes is the word
- "Candygram!", suitably timed, to get people rolling on the
- floor. --- GLS]
-
- :canonical: [historically, `according to religious law'] adj. The
- usual or standard state or manner of something. This word has a
- somewhat more technical meaning in mathematics. Two formulas such
- as 9 + x and x + 9 are said to be equivalent because
- they mean the same thing, but the second one is in `canonical
- form' because it is written in the usual way, with the highest
- power of x first. Usually there are fixed rules you can use
- to decide whether something is in canonical form. The jargon
- meaning, a relaxation of the technical meaning, acquired its
- present loading in computer-science culture largely through its
- prominence in Alonzo Church's work in computation theory and
- mathematical logic (see {Knights of the Lambda Calculus}).
- Compare {vanilla}.
-
- This word has an interesting history. Non-technical academics do
- not use the adjective `canonical' in any of the senses defined
- above with any regularity; they do however use the nouns `canon'
- and `canonicity' (not **canonicalness or **canonicality). The
- `canon' of a given author is the complete body of authentic works
- by that author (this usage is familiar to Sherlock Holmes fans as
- well as to literary scholars). `*The* canon' is the body of
- works in a given field (e.g., works of literature, or of art, or of
- music) deemed worthwhile for students to study and for scholars to
- investigate.
-
- The word `canon' derives ultimately from the Greek
- `kanon'
- (akin to the English `cane') referring to a reed. Reeds were used
- for measurement, and in Latin and later Greek the word `canon'
- meant a rule or a standard. The establishment of a canon of
- scriptures within Christianity was meant to define a standard or a
- rule for the religion. The above non-techspeak academic usages
- stem from this instance of a defined and accepted body of work.
- Alongside this usage was the promulgation of `canons' (`rules')
- for the government of the Catholic Church. The techspeak usages
- ("according to religious law") derive from this use of the Latin
- `canon'.
-
- Hackers invest this term with a playfulness that makes an ironic
- contrast with its historical meaning. A true story: One Bob
- Sjoberg, new at the MIT AI Lab, expressed some annoyance at the use
- of jargon. Over his loud objections, GLS and RMS made a point of
- using it as much as possible in his presence, and eventually it
- began to sink in. Finally, in one conversation, he used the word
- `canonical' in jargon-like fashion without thinking. Steele:
- "Aha! We've finally got you talking jargon too!" Stallman:
- "What did he say?" Steele: "Bob just used `canonical' in the
- canonical way."
-
- Of course, canonicality depends on context, but it is implicitly
- defined as the way *hackers* normally expect things to be.
- Thus, a hacker may claim with a straight face that `according to
- religious law' is *not* the canonical meaning of `canonical'.
-
- :card walloper: n. An EDP programmer who grinds out batch programs
- that do stupid things like print people's paychecks. Compare
- {code grinder}. See also {{punched card}}, {eighty-column
- mind}.
-
- :careware: /keir'weir/ n. {Shareware} for which either the
- author suggests that some payment be made to a nominated charity
- or a levy directed to charity is included on top of the
- distribution charge. Syn. {charityware}; compare
- {crippleware}, sense 2.
-
- :cargo cult programming: n. A style of (incompetent) programming
- dominated by ritual inclusion of code or program structures that
- serve no real purpose. A cargo cult programmer will usually
- explain the extra code as a way of working around some bug
- encountered in the past, but usually neither the bug nor the reason
- the code apparently avoided the bug was ever fully understood
- (compare {shotgun debugging}, {voodoo programming}).
-
- The term `cargo cult' is a reference to aboriginal religions that
- grew up in the South Pacific after World War II. The practices of
- these cults center on building elaborate mockups of airplanes and
- military style landing strips in the hope of bringing the return of
- the god-like airplanes that brought such marvelous cargo during the
- war. Hackish usage probably derives from Richard Feynman's
- characterization of certain practices as "cargo cult science" in
- his book `Surely You're Joking, Mr. Feynman' (W. W. Norton
- & Co, New York 1985, ISBN 0-393-01921-7).
-
- :cascade: n. 1. A huge volume of spurious error-message output
- produced by a compiler with poor error recovery. Too frequently,
- one trivial syntax error (such as a missing `)' or `}') throws the
- parser out of synch so that much of the remaining program text is
- interpreted as garbaged or ill-formed. 2. A chain of USENET
- followups, each adding some trivial variation or riposte to the text
- of the previous one, all of which is reproduced in the new message;
- an {include war} in which the object is to create a sort of
- communal graffito.
-
- :case and paste: [from `cut and paste'] n. 1. The addition of a new
- {feature} to an existing system by selecting the code from an
- existing feature and pasting it in with minor changes. Common in
- telephony circles because most operations in a telephone switch are
- selected using `case' statements. Leads to {software bloat}.
-
- In some circles of EMACS users this is called `programming by
- Meta-W', because Meta-W is the EMACS command for copying a block of
- text to a kill buffer in preparation to pasting it in elsewhere.
- The term is condescending, implying that the programmer is acting
- mindlessly rather than thinking carefully about what is required to
- integrate the code for two similar cases.
-
- :casters-up mode: [IBM] n. Yet another synonym for `broken' or
- `down'. Usually connotes a major failure. A system (hardware or
- software) which is `down' may be already being restarted before
- the failure is noticed, whereas one which is `casters up' is
- usually a good excuse to take the rest of the day off (as long as
- you're not responsible for fixing it).
-
- :casting the runes: n. What a {guru} does when you ask him or
- her to run a particular program and type at it because it never
- works for anyone else; esp. used when nobody can ever see what
- the guru is doing different from what J. Random Luser does.
- Compare {incantation}, {runes}, {examining the entrails};
- also see the AI koan about Tom Knight in "{A Selection
- of AI Koans}" ({Appendix A}).
-
- :cat: [from `catenate' via {{UNIX}} `cat(1)'] vt.
- 1. [techspeak] To spew an entire file to the screen or some other
- output sink without pause. 2. By extension, to dump large amounts
- of data at an unprepared target or with no intention of browsing it
- carefully. Usage: considered silly. Rare outside UNIX sites. See
- also {dd}, {BLT}.
-
- Among UNIX fans, `cat(1)' is considered an excellent example
- of user-interface design, because it delivers the file contents
- without such verbosity as spacing or headers between the files, and
- because it does not require the files to consist of lines of text,
- but works with any sort of data.
-
- Among UNIX haters, `cat(1)' is considered the {canonical}
- example of *bad* user-interface design, because of its
- woefully unobvious name. It is far more often used to {blast} a
- file to standard output than to concatenate two files. The name
- `cat' for the former operation is just as unintuitive as, say,
- LISP's {cdr}.
-
- Of such oppositions are {holy wars} made....
-
- :catatonic: adj. Describes a condition of suspended animation in
- which something is so {wedged} or {hung} that it makes no
- response. If you are typing on a terminal and suddenly the
- computer doesn't even echo the letters back to the screen as you
- type, let alone do what you're asking it to do, then the computer
- is suffering from catatonia (possibly because it has crashed).
- "There I was in the middle of a winning game of {nethack} and it
- went catatonic on me! Aaargh!" Compare {buzz}.
-
- :cd tilde: /C-D til-d*/ vi. To go home. From the UNIX C-shell
- and Korn-shell command `cd ~', which takes one to
- one's `$HOME' (`cd' with no arguments happens to do the
- same thing). By extension, may be used with other arguments; thus,
- over an electronic chat link, `cd ~coffee' would
- mean "I'm going to the coffee machine."
-
- :cdr: /ku'dr/ or /kuh'dr/ [from LISP] vt. To skip past the
- first item from a list of things (generalized from the LISP
- operation on binary tree structures, which returns a list
- consisting of all but the first element of its argument). In the
- form `cdr down', to trace down a list of elements: "Shall we
- cdr down the agenda?" Usage: silly. See also {loop through}.
-
- Historical note: The instruction format of the IBM 7090 that hosted
- the original LISP implementation featured two 15-bit fields called
- the `address' and `decrement' parts. The term `cdr' was originally
- `Contents of Decrement part of Register'. Similarly, `car' stood
- for `Contents of Address part of Register'.
-
- The cdr and car operations have since become bases for
- formation of compound metaphors in non-LISP contexts. GLS recalls,
- for example, a programming project in which strings were
- represented as linked lists; the get-character and skip-character
- operations were of course called CHAR and CHDR.
-
- :chad: /chad/ n. 1. The perforated edge strips on printer paper, after
- they have been separated from the printed portion. Also called
- {selvage} and {perf}. 2. obs. The confetti-like paper bits punched
- out of cards or paper tape; this was also called `chaff', `computer
- confetti', and `keypunch droppings'.
-
- Historical note: One correspondent believes `chad' (sense 2)
- derives from the Chadless keypunch (named for its inventor), which
- cut little u-shaped tabs in the card to make a hole when the tab
- folded back, rather than punching out a circle/rectangle; it was
- clear that if the Chadless keypunch didn't make them, then the
- stuff that other keypunches made had to be `chad'.
-
- :chad box: n. boxes inside them, A metal box about the size of a
- lunchbox (or in some models a large wastebasket), for collecting
- the {chad} (sense 2) that accumulated in {Iron Age} card
- punches. You had to open the covers of the card punch periodically
- and empty the chad box. The {bit bucket} was notionally the
- equivalent device in the CPU enclosure, which was typically across
- the room in another great gray-and-blue box.
-
- :chain: 1. [orig. from BASIC's `CHAIN' statement] vi. To hand
- off execution to a child or successor without going through the
- {OS} command interpreter that invoked it. The state of the
- parent program is lost and there is no returning to it. Though
- this facility used to be common on memory-limited micros and is
- still widely supported for backward compatibility, the jargon usage
- is semi-obsolescent; in particular, most UNIX programmers will
- think of this as an {exec}. Oppose the more modern
- `subshell'. 2. A series of linked data areas within an
- operating system or application. `Chain rattling' is the process
- of repeatedly running through the linked data areas searching for
- one which is of interest to the executing program. The implication
- is that there is a very large number of links on the chain.
-
- :channel: [IRC] n. The basic unit of discussion on {IRC}. Once
- one joins a channel, everything one types is read by others on that
- channel. Channels can either be named with numbers or with strings
- that begin with a `#' sign and can have topic descriptions (which
- are generally irrelevant to the actual subject of discussion).
- Some notable channels are `#initgame', `#hottub', and
- `#report'. At times of international crisis, `#report'
- has hundreds of members, some of whom take turns listening to
- various news services and typing in summaries of the news, or in
- some cases, giving first-hand accounts of the action (e.g., Scud
- missile attacks in Tel Aviv during the Gulf War in 1991).
-
- :channel hopping: [IRC, GEnie] n. To rapidly switch channels on
- {IRC}, or a GEnie chat board, just as a social butterfly might hop
- from one group to another at a party. This term may derive from the TV
- watcher's idiom, `channel surfing'.
-
- :channel op: /chan'l op/ [IRC] n. Someone who is endowed with
- privileges on a particular {IRC} channel; commonly abbreviated
- `chanop' or `CHOP'. These privileges include the right to
- {kick} users, to change various status bits, and to make others
- into CHOPs.
-
- :chanop: /chan'-op/ [IRC] n. See {channel op}.
-
- :char: /keir/ or /char/; rarely, /kar/ n. Shorthand for
- `character'. Esp. used by C programmers, as `char' is
- C's typename for character data.
-
- :charityware: /cha'rit-ee-weir`/ n. Syn. {careware}.
-
- :chase pointers: 1. vi. To go through multiple levels of
- indirection, as in traversing a linked list or graph structure.
- Used esp. by programmers in C, where explicit pointers are a very
- common data type. This is techspeak, but it remains jargon when
- used of human networks. "I'm chasing pointers. Bob said you
- could tell me who to talk to about...." See {dangling
- pointer} and {snap}. 2. [Cambridge] `pointer chase' or
- `pointer hunt': The process of going through a {core dump}
- (sense 1), interactively or on a large piece of paper printed with
- hex {runes}, following dynamic data-structures. Used only in a
- debugging context.
-
- :check: n. A hardware-detected error condition, most commonly used
- to refer to actual hardware failures rather than software-induced
- traps. E.g., a `parity check' is the result of a
- hardware-detected parity error. Recorded here because the word
- often humorously extended to non-technical problems. For example,
- the term `child check' has been used to refer to the problems
- caused by a small child who is curious to know what happens when
- s/he presses all the cute buttons on a computer's console (of
- course, this particular problem could have been prevented with
- {molly-guard}s).
-
- :chemist: [Cambridge] n. Someone who wastes computer time on
- {number-crunching} when you'd far rather the machine were doing
- something more productive, such as working out anagrams of your
- name or printing Snoopy calendars or running {life} patterns.
- May or may not refer to someone who actually studies chemistry.
-
- :Chernobyl chicken: n. See {laser chicken}.
-
- :Chernobyl packet: /cher-noh'b*l pak'*t/ n. A network packet that
- induces a {broadcast storm} and/or {network meltdown},
- in memory of the April 1986 nuclear accident at Chernobyl
- in Ukraine. The typical scenario involves an IP Ethernet datagram
- that passes through a gateway with both source and destination
- Ether and IP address set as the respective broadcast addresses for
- the subnetworks being gated between. Compare {Christmas tree
- packet}.
-
- :chicken head: [Commodore] n. The Commodore Business Machines logo,
- which strongly resembles a poultry part. Rendered in ASCII as
- `C='. With the arguable exception of the Amiga (see {amoeba}),
- Commodore's machines are notoriously crocky little {bitty box}es
- (see also {PETSCII}). Thus, this usage may owe something to
- Philip K. Dick's novel `Do Androids Dream of Electric Sheep?'
- (the basis for the movie `Blade Runner'; the novel is now sold
- under that title), in which a `chickenhead' is a mutant with
- below-average intelligence.
-
- :chiclet keyboard: n. A keyboard with a small, flat rectangular or
- lozenge-shaped rubber or plastic keys that look like pieces of
- chewing gum. (Chiclets is the brand name of a variety of chewing
- gum that does in fact resemble the keys of chiclet keyboards.)
- Used esp. to describe the original IBM PCjr keyboard. Vendors
- unanimously liked these because they were cheap, and a lot of early
- portable and laptop products got launched using them. Customers
- rejected the idea with almost equal unanimity, and chiclets are not
- often seen on anything larger than a digital watch any more.
-
- :chine nual: /sheen'yu-*l/ [MIT] n.,obs. The LISP Machine Manual, so
- called because the title was wrapped around the cover so only those
- letters showed on the front.
-
- :Chinese Army technique: n. Syn. {Mongolian Hordes technique}.
-
- :choke: v. 1. To reject input, often ungracefully. "NULs make System
- V's `lpr(1)' choke." "I tried building an {EMACS} binary to
- use {X}, but `cpp(1)' choked on all those `#define's."
- See {barf}, {gag}, {vi}. 2. [MIT] More generally, to fail at any
- endeavor, but with some flair or bravado; the popular definition is
- "to snatch defeat from the jaws of victory."
-
- :chomp: vi. To {lose}; specifically, to chew on something of
- which more was bitten off than one can. Probably related to
- gnashing of teeth. See {bagbiter}.
-
- A hand gesture commonly accompanies this. To perform it, hold the
- four fingers together and place the thumb against their tips. Now
- open and close your hand rapidly to suggest a biting action (much
- like what Pac-Man does in the classic video game, though this
- pantomime seems to predate that). The gesture alone means `chomp
- chomp' (see "{Verb Doubling}" in the "{Jargon
- Construction}" section of the Prependices). The hand may be
- pointed at the object of complaint, and for real emphasis you can
- use both hands at once. Doing this to a person is equivalent to
- saying "You chomper!" If you point the gesture at yourself, it
- is a humble but humorous admission of some failure. You might do
- this if someone told you that a program you had written had failed
- in some surprising way and you felt dumb for not having anticipated
- it.
-
- :chomper: n. Someone or something that is chomping; a loser. See
- {loser}, {bagbiter}, {chomp}.
-
- :CHOP: /chop/ [IRC] n. See {channel op}.
-
- :Christmas tree: n. A kind of RS-232 line tester or breakout box
- featuring rows of blinking red and green LEDs suggestive of
- Christmas lights.
-
- :Christmas tree packet: n. A packet with every single option set for
- whatever protocol is in use. See {kamikaze packet}, {Chernobyl
- packet}. (The term doubtless derives from a fanciful image of each
- little option bit being represented by a different-colored light
- bulb, all turned on.)
-
- :chrome: [from automotive slang via wargaming] n. Showy features
- added to attract users but contributing little or nothing to
- the power of a system. "The 3D icons in Motif are just chrome,
- but they certainly are *pretty* chrome!" Distinguished from
- {bells and whistles} by the fact that the latter are usually
- added to gratify developers' own desires for featurefulness.
- Often used as a term of contempt.
-
- :chug: vi. To run slowly; to {grind} or {grovel}. "The disk is
- chugging like crazy."
-
- :Church of the SubGenius: n. A mutant offshoot of
- {Discordianism} launched in 1981 as a spoof of fundamentalist
- Christianity by the `Reverend' Ivan Stang, a brilliant satirist
- with a gift for promotion. Popular among hackers as a rich source
- of bizarre imagery and references such as "Bob" the divine
- drilling-equipment salesman, the Benevolent Space Xists, and the
- Stark Fist of Removal. Much SubGenius theory is concerned with the
- acquisition of the mystical substance or quality of {slack}.
-
- :Cinderella Book: [CMU] n. `Introduction to Automata Theory,
- Languages, and Computation', by John Hopcroft and Jeffrey Ullman,
- (Addison-Wesley, 1979). So called because the cover depicts a girl
- (putatively Cinderella) sitting in front of a Rube Goldberg device
- and holding a rope coming out of it. On the back cover, the device
- is in shambles after she has (inevitably) pulled on the rope. See
- also {{book titles}}.
-
- :CI$: // n. Hackerism for `CIS', CompuServe Information Service.
- The dollar sign refers to CompuServe's rather steep line charges.
- Often used in {sig block}s just before a CompuServe address.
- Syn. {Compu$erve}.
-
- :Classic C: /klas'ik C/ [a play on `Coke Classic'] n. The
- C programming language as defined in the first edition of {K&R},
- with some small additions. It is also known as `K&R C'. The name
- came into use while C was being standardized by the ANSI X3J11
- committee. Also `C Classic'.
-
- An analogous construction is sometimes applied elsewhere: thus,
- `X Classic', where X = Star Trek (referring to the original TV
- series) or X = PC (referring to IBM's ISA-bus machines as opposed
- to the PS/2 series). This construction is especially used of
- product series in which the newer versions are considered serious
- losers relative to the older ones.
-
- :clean: 1. adj. Used of hardware or software designs, implies
- `elegance in the small', that is, a design or implementation that
- may not hold any surprises but does things in a way that is
- reasonably intuitive and relatively easy to comprehend from the
- outside. The antonym is `grungy' or {crufty}. 2. v. To remove
- unneeded or undesired files in a effort to reduce clutter: "I'm
- cleaning up my account." "I cleaned up the garbage and now have
- 100 Meg free on that partition."
-
- :CLM: /C-L-M/ [Sun: `Career Limiting Move'] 1. n. An action
- endangering one's future prospects of getting plum projects and
- raises, and possibly one's job: "His Halloween costume was a
- parody of his manager. He won the prize for `best CLM'."
- 2. adj. Denotes extreme severity of a bug, discovered by a
- customer and obviously missed earlier because of poor testing:
- "That's a CLM bug!"
-
- :clobber: vt. To overwrite, usually unintentionally: "I walked off
- the end of the array and clobbered the stack." Compare {mung},
- {scribble}, {trash}, and {smash the stack}.
-
- :clocks: n. Processor logic cycles, so called because each
- generally corresponds to one clock pulse in the processor's timing.
- The relative execution times of instructions on a machine are
- usually discussed in clocks rather than absolute fractions of a
- second; one good reason for this is that clock speeds for various
- models of the machine may increase as technology improves, and it
- is usually the relative times one is interested in when discussing
- the instruction set. Compare {cycle}.
-
- :clone: n. 1. An exact duplicate: "Our product is a clone of
- their product." Implies a legal reimplementation from
- documentation or by reverse-engineering. Also connotes lower
- price. 2. A shoddy, spurious copy: "Their product is a
- clone of our product." 3. A blatant ripoff, most likely violating
- copyright, patent, or trade secret protections: "Your
- product is a clone of my product." This use implies legal
- action is pending. 4. `PC clone:' a PC-BUS/ISA or
- EISA-compatible 80x86-based microcomputer (this use is sometimes
- spelled `klone' or `PClone'). These invariably have much
- more bang for the buck than the IBM archetypes they resemble.
- 5. In the construction `UNIX clone': An OS designed to deliver
- a UNIX-lookalike environment without UNIX license fees, or with
- additional `mission-critical' features such as support for
- real-time programming. 6. v. To make an exact copy of something.
- "Let me clone that" might mean "I want to borrow that paper so I
- can make a photocopy" or "Let me get a copy of that file before
- you {mung} it".
-
- :clover key: [Mac users] n. See {feature key}.
-
- :clustergeeking: /kluh'st*r-gee`king/ [CMU] n. Spending more time
- at a computer cluster doing CS homework than most people spend
- breathing.
-
- :COBOL: /koh'bol/ [COmmon Business-Oriented Language] n.
- (Synonymous with {evil}.) A weak, verbose, and flabby language
- used by {card walloper}s to do boring mindless things on
- {dinosaur} mainframes. Hackers believe that all COBOL
- programmers are {suit}s or {code grinder}s, and no
- self-respecting hacker will ever admit to having learned the
- language. Its very name is seldom uttered without ritual
- expressions of disgust or horror. See also {fear and loathing},
- {software rot}.
-
- :COBOL fingers: /koh'bol fing'grz/ n. Reported from Sweden, a
- (hypothetical) disease one might get from coding in COBOL. The
- language requires code verbose beyond all reason (see
- {candygrammar}); thus it is alleged that programming too much in
- COBOL causes one's fingers to wear down to stubs by the endless
- typing. "I refuse to type in all that source code again; it would
- give me COBOL fingers!"
-
- :code grinder: n. 1. A {suit}-wearing minion of the sort hired in
- legion strength by banks and insurance companies to implement
- payroll packages in RPG and other such unspeakable horrors. In its
- native habitat, the code grinder often removes the suit jacket to
- reveal an underplumage consisting of button-down shirt (starch
- optional) and a tie. In times of dire stress, the sleeves (if
- long) may be rolled up and the tie loosened about half an inch. It
- seldom helps. The {code grinder}'s milieu is about as far from
- hackerdom as one can get and still touch a computer; the term
- connotes pity. See {Real World}, {suit}. 2. Used of or to a
- hacker, a really serious slur on the person's creative ability;
- connotes a design style characterized by primitive technique,
- rule-boundedness, {brute force}, and utter lack of imagination.
- Compare {card walloper}; contrast {hacker}, {real
- programmer}.
-
- :code police: [by analogy with George Orwell's `thought police'] n.
- A mythical team of Gestapo-like storm troopers that might burst
- into one's office and arrest one for violating programming style
- rules. May be used either seriously, to underline a claim that a
- particular style violation is dangerous, or ironically, to suggest
- that the practice under discussion is condemned mainly by
- anal-retentive {weenie}s. "Dike out that goto or the code
- police will get you!" The ironic usage is perhaps more common.
-
- :codewalker: n. A program component that traverses other programs for
- a living. Compilers have codewalkers in their front ends; so do
- cross-reference generators and some database front ends. Other
- utility programs that try to do too much with source code may turn
- into codewalkers. As in "This new `vgrind' feature would require a
- codewalker to implement."
-
- :coefficient of X: n. Hackish speech makes heavy use of
- pseudo-math-ema-tic-al metaphors. Four particularly important
- ones involve the terms `coefficient', `factor', `index', and
- `quotient'. They are often loosely applied to things you cannot
- really be quantitative about, but there are subtle distinctions
- among them that convey information about the way the speaker
- mentally models whatever he or she is describing.
-
- `Foo factor' and `foo quotient' tend to describe something for
- which the issue is one of presence or absence. The canonical
- example is {fudge factor}. It's not important how much you're
- fudging; the term simply acknowledges that some fudging is needed.
- You might talk of liking a movie for its silliness factor.
- Quotient tends to imply that the property is a ratio of two
- opposing factors: "I would have won except for my luck quotient."
- This could also be "I would have won except for the luck factor",
- but using *quotient* emphasizes that it was bad luck
- overpowering good luck (or someone else's good luck overpowering
- your own).
-
- `Foo index' and `coefficient of foo' both tend to imply
- that foo is, if not strictly measurable, at least something that
- can be larger or smaller. Thus, you might refer to a paper or
- person as having a `high bogosity index', whereas you would be less
- likely to speak of a `high bogosity factor'. `Foo index' suggests
- that foo is a condensation of many quantities, as in the mundane
- cost-of-living index; `coefficient of foo' suggests that foo is a
- fundamental quantity, as in a coefficient of friction. The choice
- between these terms is often one of personal preference; e.g., some
- people might feel that bogosity is a fundamental attribute and thus
- say `coefficient of bogosity', whereas others might feel it is a
- combination of factors and thus say `bogosity index'.
-
- :cokebottle: /kohk'bot-l/ n. Any very unusual character,
- particularly one you can't type because it it isn't on your
- keyboard. MIT people used to complain about the
- `control-meta-cokebottle' commands at SAIL, and SAIL people
- complained right back about the `{altmode}-altmode-cokebottle'
- commands at MIT. After the demise of the {space-cadet
- keyboard}, `cokebottle' faded away as serious usage, but was
- often invoked humorously to describe an (unspecified) weird or
- non-intuitive keystroke command. It may be due for a second
- inning, however. The OSF/Motif window manager, `mwm(1)', has
- a reserved keystroke for switching to the default set of
- keybindings and behavior. This keystroke is (believe it or not)
- `control-meta-bang' (see {bang}). Since the exclamation point
- looks a lot like an upside down Coke bottle, Motif hackers have
- begun referring to this keystroke as `cokebottle'. See also
- {quadruple bucky}.
-
- :cold boot: n. See {boot}.
-
- :COME FROM: n. A semi-mythical language construct dual to the `go
- to'; `COME FROM' <label> would cause the referenced label to
- act as a sort of trapdoor, so that if the program ever reached it
- control would quietly and {automagically} be transferred to the
- statement following the `COME FROM'. `COME FROM' was
- first proposed in R.L. Clark's `A Linguistic Contribution to
- GOTO-less programming', which appeared in a 1973 {Datamation}
- issue (and was reprinted in the April 1984 issue of
- `Communications of the ACM'). This parodied the then-raging
- `structured programming' {holy wars} (see {considered
- harmful}). Mythically, some variants are the `assigned COME
- FROM' and the `computed COME FROM' (parodying some nasty control
- constructs in FORTRAN and some extended BASICs). Of course,
- multi-tasking (or non-determinism) could be implemented by having
- more than one `COME FROM' statement coming from the same
- label.
-
- In some ways the FORTRAN `DO' looks like a `COME FROM'
- statement. After the terminating statement number/`CONTINUE'
- is reached, control continues at the statement following the DO.
- Some generous FORTRANs would allow arbitrary statements (other than
- `CONTINUE') for the statement, leading to examples like:
-
- DO 10 I=1,LIMIT
- C imagine many lines of code here, leaving the
- C original DO statement lost in the spaghetti...
- WRITE(6,10) I,FROB(I)
- 10 FORMAT(1X,I5,G10.4)
-
- in which the trapdoor is just after the statement labeled 10.
- (This is particularly surprising because the label doesn't appear
- to have anything to do with the flow of control at all!)
-
- While sufficiently astonishing to the unsuspecting reader, this
- form of `COME FROM' statement isn't completely general. After
- all, control will eventually pass to the following statement. The
- implementation of the general form was left to Univac FORTRAN,
- ca. 1975 (though a roughly similar feature existed on the IBM 7040
- ten years earlier). The statement `AT 100' would perform a
- `COME FROM 100'. It was intended strictly as a debugging aid,
- with dire consequences promised to anyone so deranged as to use it
- in production code. More horrible things had already been
- perpetrated in production languages, however; doubters need only
- contemplate the `ALTER' verb in {COBOL}.
-
- `COME FROM' was supported under its own name for the first
- time 15 years later, in C-INTERCAL (see {INTERCAL},
- {retrocomputing}); knowledgeable observers are still reeling
- from the shock.
-
- :comm mode: /kom mohd/ [ITS: from the feature supporting on-line
- chat; the term may spelled with one or two m's] Syn. for {talk
- mode}.
-
- :command key: [Mac users] n. Syn. {feature key}.
-
- :comment out: vt. To surround a section of code with comment
- delimiters or to prefix every line in the section with a comment
- marker; this prevents it from being compiled or interpreted. Often
- done when the code is redundant or obsolete, but is being left in
- the source to make the intent of the active code clearer; also when
- the code in that section is broken and you want to bypass it in
- order to debug some other part of the code. Compare
- {condition out}, usually the preferred technique in languages
- (such as {C}) that make it possible.
-
- :Commonwealth Hackish:: n. Hacker jargon as spoken outside
- the U.S., esp. in the British Commonwealth. It is reported that
- Commonwealth speakers are more likely to pronounce truncations like
- `char' and `soc', etc., as spelled (/char/, /sok/), as
- opposed to American /keir/ and /sohsh/. Dots in {newsgroup}
- names tend to be pronounced more often (so soc.wibble is /sok dot
- wib'l/ rather than /sohsh wib'l/). The prefix {meta} may be
- pronounced /mee't*/; similarly, Greek letter beta is usually
- /bee't*/, zeta is usually /zee't*/, and so forth. Preferred
- {metasyntactic variable}s include {blurgle}, `eek',
- `ook', `frodo', and `bilbo'; `wibble',
- `wobble', and in emergencies `wubble'; `banana',
- `tom', `dick', `harry', `wombat', `frog',
- {fish}, and so on and on (see {foo}, sense 4).
-
- Alternatives to verb doubling include suffixes `-o-rama',
- `frenzy' (as in feeding frenzy), and `city' (examples: "barf
- city!" "hack-o-rama!" "core dump frenzy!"). Finally, note
- that the American terms `parens', `brackets', and `braces' for (),
- [], and {} are uncommon; Commonwealth hackish prefers
- `brackets', `square brackets', and `curly brackets'. Also, the
- use of `pling' for {bang} is common outside the United States.
-
- See also {attoparsec}, {calculator}, {chemist},
- {console jockey}, {fish}, {go-faster stripes},
- {grunge}, {hakspek}, {heavy metal}, {leaky heap},
- {lord high fixer}, {loose bytes}, {muddie}, {nadger},
- {noddy}, {psychedelicware}, {plingnet}, {raster
- blaster}, {RTBM}, {seggie}, {spod}, {sun lounge},
- {terminal junkie}, {tick-list features}, {weeble},
- {weasel}, {YABA}, and notes or definitions under {Bad
- Thing}, {barf}, {bogus}, {bum}, {chase pointers},
- {cosmic rays}, {crippleware}, {crunch}, {dodgy},
- {gonk}, {hamster}, {hardwarily}, {mess-dos},
- {nybble}, {proglet}, {root}, {SEX}, {tweak}, and
- {xyzzy}.
-
- :compact: adj. Of a design, describes the valuable property that it
- can all be apprehended at once in one's head. This generally means
- the thing created from the design can be used with greater facility
- and fewer errors than an equivalent tool that is not compact.
- Compactness does not imply triviality or lack of power; for
- example, C is compact and FORTRAN is not, but C is more powerful
- than FORTRAN. Designs become non-compact through accreting
- {feature}s and {cruft} that don't merge cleanly into the
- overall design scheme (thus, some fans of {Classic C} maintain
- that ANSI C is no longer compact).
-
- :compiler jock: n. See {jock} (sense 2).
-
- :compress: [UNIX] vt. When used without a qualifier, generally
- refers to {crunch}ing of a file using a particular
- C implementation of compression by James A. Woods et al. and
- widely circulated via {USENET}; use of {crunch} itself in
- this sense is rare among UNIX hackers. Specifically, compress is
- built around the Lempel-Ziv-Welch algorithm as described in "A
- Technique for High Performance Data Compression", Terry A. Welch,
- `IEEE Computer', vol. 17, no. 6 (June 1984), pp. 8--19.
-
- :Compu$erve: n. See {CI$}. Synonyms CompuSpend and
- Compu$pend are also reported.
-
- :computer confetti: n. Syn. {chad}. Though this term is common,
- this use of punched-card chad is not a good idea, as the pieces are
- stiff and have sharp corners that could injure the eyes. GLS
- reports that he once attended a wedding at MIT during which he and
- a few other guests enthusiastically threw chad instead of rice. The
- groom later grumbled that he and his bride had spent most of the
- evening trying to get the stuff out of their hair.
-
- :computer geek: n. One who eats (computer) bugs for a living. One
- who fulfills all the dreariest negative stereotypes about hackers:
- an asocial, malodorous, pasty-faced monomaniac with all the
- personality of a cheese grater. Cannot be used by outsiders
- without implied insult to all hackers; compare black-on-black usage
- of `nigger'. A computer geek may be either a fundamentally
- clueless individual or a proto-hacker in {larval stage}. Also
- called `turbo nerd', `turbo geek'. See also {propeller head},
- {clustergeeking}, {geek out}, {wannabee}, {terminal
- junkie}, {spod}, {weenie}.
-
- :computron: /kom'pyoo-tron`/ n. 1. A notional unit of computing
- power combining instruction speed and storage capacity, dimensioned
- roughly in instructions-per-second times megabytes-of-main-store
- times megabytes-of-mass-storage. "That machine can't run GNU
- EMACS, it doesn't have enough computrons!" This usage is usually
- found in metaphors that treat computing power as a fungible
- commodity good, like a crop yield or diesel horsepower. See
- {bitty box}, {Get a real computer!}, {toy}, {crank}.
- 2. A mythical subatomic particle that bears the unit quantity of
- computation or information, in much the same way that an electron
- bears one unit of electric charge (see also {bogon}). An
- elaborate pseudo-scientific theory of computrons has been developed
- based on the physical fact that the molecules in a solid object
- move more rapidly as it is heated. It is argued that an object
- melts because the molecules have lost their information about where
- they are supposed to be (that is, they have emitted computrons).
- This explains why computers get so hot and require air
- conditioning; they use up computrons. Conversely, it should be
- possible to cool down an object by placing it in the path of a
- computron beam. It is believed that this may also explain why
- machines that work at the factory fail in the computer room: the
- computrons there have been all used up by the other hardware.
- (This theory probably owes something to the "Warlock" stories
- by Larry Niven, the best known being "What Good is a Glass
- Dagger?", in which magic is fueled by an exhaustible natural
- resource called `mana'.)
-
- :con: [from SF fandom] n. A science-fiction convention. Not used
- of other sorts of conventions, such as professional meetings. This
- term, unlike many others of SF-fan slang, is widely recognized even
- by hackers who aren't {fan}s. "We'd been corresponding on the
- net for months, then we met face-to-face at a con." .
-
- :condition out: vt. To prevent a section of code from being
- compiled by surrounding it with a conditional-compilation directive
- whose condition is always false. The {canonical} examples of
- these directives are `#if 0' (or `#ifdef notdef', though
- some find the latter {bletcherous}) and `#endif' in C.
- Compare {comment out}.
-
- :condom: n. 1. The protective plastic bag that accompanies 3.5-inch
- microfloppy diskettes. Rarely, also used of (paper) disk
- envelopes. Unlike the write protect tab, the condom (when left on)
- not only impedes the practice of {SEX} but has also been shown
- to have a high failure rate as drive mechanisms attempt to access
- the disk --- and can even fatally frustrate insertion. 2. The
- protective cladding on a {light pipe}. 3. `keyboard condom':
- A flexible, transparent plastic cover for a keyboard, designed to
- provide some protection against dust and {programming fluid} without
- impeding typing.
-
- :confuser: n. Common soundalike slang for `computer'. Usually
- encountered in compounds such as `confuser room', `personal
- confuser', `confuser guru'. Usage: silly.
-
- :connector conspiracy: [probably came into prominence with the
- appearance of the KL-10 (one model of the {PDP-10}), none of
- whose connectors matched anything else] n. The tendency of
- manufacturers (or, by extension, programmers or purveyors of
- anything) to come up with new products that don't fit together with
- the old stuff, thereby making you buy either all new stuff or
- expensive interface devices. The KL-10 Massbus connector was
- actually *patented* by DEC, which reputedly refused to license
- the design and thus effectively locked third parties out of
- competition for the lucrative Massbus peripherals market. This
- policy is a source of never-ending frustration for the diehards who
- maintain older PDP-10 or VAX systems. Their CPUs work fine, but
- they are stuck with dying, obsolescent disk and tape drives with
- low capacity and high power requirements.
-
- (A closely related phenomenon, with a slightly different intent, is
- the habit manufacturers have of inventing new screw heads so that
- only Designated Persons, possessing the magic screwdrivers, can
- remove covers and make repairs or install options. The Apple
- Macintosh takes this one step further, requiring not only a hex
- wrench but a specialized case-cracking tool to open the box.)
-
- In these latter days of open-systems computing this term has fallen
- somewhat into disuse, to be replaced by the observation that
- "Standards are great! There are so *many* of them to choose
- from!" Compare {backward combatability}.
-
- :cons: /konz/ or /kons/ [from LISP] 1. vt. To add a new element
- to a specified list, esp. at the top. "OK, cons picking a
- replacement for the console TTY onto the agenda." 2. `cons up':
- vt. To synthesize from smaller pieces: "to cons up an example".
-
- In LISP itself, `cons' is the most fundamental operation for
- building structures. It takes any two objects and returns a
- `dot-pair' or two-branched tree with one object hanging from each
- branch. Because the result of a cons is an object, it can be used
- to build binary trees of any shape and complexity. Hackers think
- of it as a sort of universal constructor, and that is where the
- jargon meanings spring from.
-
- :considered harmful: adj. Edsger W. Dijkstra's note in the
- March 1968 `Communications of the ACM', "Goto Statement
- Considered Harmful", fired the first salvo in the structured
- programming wars. Amusingly, the ACM considered the resulting
- acrimony sufficiently harmful that it will (by policy) no longer
- print an article taking so assertive a position against a coding
- practice. In the ensuing decades, a large number of both serious
- papers and parodies have borne titles of the form "X
- considered Y". The structured-programming wars eventually blew
- over with the realization that both sides were wrong, but use of
- such titles has remained as a persistent minor in-joke (the
- `considered silly' found at various places in this lexicon is
- related).
-
- :console:: n. 1. The operator's station of a {mainframe}. In
- times past, this was a privileged location that conveyed godlike
- powers to anyone with fingers on its keys. Under UNIX and other
- modern timesharing OSes, such privileges are guarded by passwords
- instead, and the console is just the {tty} the system was booted
- from. Some of the mystique remains, however, and it is traditional
- for sysadmins to post urgent messages to all users from the console
- (on UNIX, /dev/console). 2. On microcomputer UNIX boxes, the main
- screen and keyboard (as opposed to character-only terminals talking
- to a serial port). Typically only the console can do real graphics
- or run {X}. See also {CTY}.
-
- :console jockey: n. See {terminal junkie}.
-
- :content-free: [by analogy with techspeak `context-free'] adj.
- Used of a message that adds nothing to the recipient's knowledge.
- Though this adjective is sometimes applied to {flamage}, it more
- usually connotes derision for communication styles that exalt form
- over substance or are centered on concerns irrelevant to the
- subject ostensibly at hand. Perhaps most used with reference to
- speeches by company presidents and other professional manipulators.
- "Content-free? Uh... that's anything printed on glossy
- paper." (See also {four-color glossies}.) "He gave a talk on
- the implications of electronic networks for postmodernism and the
- fin-de-siecle aesthetic. It was content-free."
-
- :control-C: vi. 1. "Stop whatever you are doing." From the
- interrupt character used on many operating systems to abort a
- running program. Considered silly. 2. interj. Among BSD UNIX
- hackers, the canonical humorous response to "Give me a break!"
-
- :control-O: vi. "Stop talking." From the character used on some
- operating systems to abort output but allow the program to keep on
- running. Generally means that you are not interested in hearing
- anything more from that person, at least on that topic; a standard
- response to someone who is flaming. Considered silly. Compare
- {control-S}.
-
- :control-Q: vi. "Resume." From the ASCII DC1 or {XON}
- character (the pronunciation /X-on/ is therefore also used), used
- to undo a previous {control-S}.
-
- :control-S: vi. "Stop talking for a second." From the ASCII DC3
- or XOFF character (the pronunciation /X-of/ is therefore also
- used). Control-S differs from {control-O} in that the person is
- asked to stop talking (perhaps because you are on the phone) but
- will be allowed to continue when you're ready to listen to him ---
- as opposed to control-O, which has more of the meaning of
- "Shut up." Considered silly.
-
- :Conway's Law: prov. The rule that the organization of the software and
- the organization of the software team will be congruent; originally
- stated as "If you have four groups working on a compiler, you'll
- get a 4-pass compiler".
-
- Melvin Conway, an early proto-hacker who wrote an assembler for the
- Burroughs 220 called SAVE. The name `SAVE' didn't stand for
- anything; it was just that you lost fewer card decks and listings
- because they all had SAVE written on them.
-
- :cookbook: [from amateur electronics and radio] n. A book of small
- code segments that the reader can use to do various {magic}
- things in programs. One current example is the
- `{{PostScript}} Language Tutorial and Cookbook' by Adobe
- Systems, Inc (Addison-Wesley, ISBN 0-201-10179-3), also known as
- the {Blue Book} which has recipes for things like wrapping text
- around arbitrary curves and making 3D fonts. Cookbooks, slavishly
- followed, can lead one into {voodoo programming}, but are useful
- for hackers trying to {monkey up} small programs in unknown
- languages. This function is analogous to the role of phrasebooks
- in human languages.
-
- :cooked mode: [UNIX, by opposition with {raw mode}] n. The
- normal character-input mode, with interrupts enabled and with
- erase, kill and other special-character interpretations performed
- directly by the tty driver. Oppose {raw mode}, {rare mode}.
- This term is techspeak under UNIX but jargon elsewhere; other
- operating systems often have similar mode distinctions, and the
- raw/rare/cooked way of describing them has spread widely along with
- the C language and other UNIX exports. Most generally, `cooked
- mode' may refer to any mode of a system that does extensive
- preprocessing before presenting data to a program.
-
- :cookie: n. A handle, transaction ID, or other token of agreement
- between cooperating programs. "I give him a packet, he gives me
- back a cookie." The claim check you get from a dry-cleaning shop
- is a perfect mundane example of a cookie; the only thing it's
- useful for is to relate a later transaction to this one (so you get
- the same clothes back). Compare {magic cookie}; see also
- {fortune cookie}.
-
- :cookie bear: n. Syn. {cookie monster}.
-
- :cookie file: n. A collection of {fortune cookie}s in a format
- that facilitates retrieval by a fortune program. There are several
- different cookie files in public distribution, and site admins
- often assemble their own from various sources including this
- lexicon.
-
- :cookie jar: n. An area of memory set aside for storing {cookie}s.
- Most commonly heard in the Atari ST community; many useful ST
- programs record their presence by storing a distinctive {magic
- number} in the jar. Programs can inquire after the presence or
- otherwise of other programs by searching the contents of the jar.
-
- :cookie monster: [from the children's TV program "Sesame
- Street"] n. Any of a family of early (1970s) hacks reported on
- {{TOPS-10}}, {{ITS}}, {{Multics}}, and elsewhere that would lock
- up either the victim's terminal (on a time-sharing machine) or the
- {{console}} (on a batch {mainframe}), repeatedly demanding "I
- WANT A COOKIE". The required responses ranged in complexity from
- "COOKIE" through "HAVE A COOKIE" and upward. See also
- {wabbit}.
-
- :copious free time: [Apple; orig. fr. the intro to Tom Lehrer's
- song "It Makes A Fellow Proud To Be A Soldier"] n. 1. [used
- ironically to indicate the speaker's lack of the quantity in
- question] A mythical schedule slot for accomplishing tasks held to
- be unlikely or impossible. Sometimes used to indicate that the
- speaker is interested in accomplishing the task, but believes that
- the opportunity will not arise. "I'll implement the automatic
- layout stuff in my copious free time." 2. [Archly] Time reserved
- for bogus or otherwise idiotic tasks, such as implementation of
- {chrome}, or the stroking of {suit}s. "I'll get back to him
- on that feature in my copious free time."
-
- :copper: n. Conventional electron-carrying network cable with a
- core conductor of copper --- or aluminum! Opposed to {light
- pipe} or, say, a short-range microwave link.
-
- :copy protection: n. A class of methods for preventing incompetent
- pirates from stealing software and legitimate customers from using
- it. Considered silly.
-
- :copybroke: /ko'pee-brohk/ adj. 1. [play on `copyright'] Used
- to describe an instance of a copy-protected program that has been
- `broken'; that is, a copy with the copy-protection scheme
- disabled. Syn. {copywronged}. 2. Copy-protected software
- which is unusable because of some bit-rot or bug that has confused
- the anti-piracy check. See also {copy protection}.
-
- :copyleft: /kop'ee-left/ [play on `copyright'] n. 1. The
- copyright notice (`General Public License') carried by {GNU}
- {EMACS} and other Free Software Foundation software, granting reuse
- and reproduction rights to all comers (but see also {General
- Public Virus}). 2. By extension, any copyright notice intended to
- achieve similar aims.
-
- :copywronged: /ko'pee-rongd/ [play on `copyright'] adj. Syn. for
- {copybroke}.
-
- :core: n. Main storage or RAM. Dates from the days of
- ferrite-core memory; now archaic as techspeak most places outside
- IBM, but also still used in the UNIX community and by old-time
- hackers or those who would sound like them. Some derived idioms
- are quite current; `in core', for example, means `in memory'
- (as opposed to `on disk'), and both {core dump} and the `core
- image' or `core file' produced by one are terms in favor. Some
- varieties of Commonwealth hackish prefer {store}.
-
- :core cancer: n. A process that exhibits a slow but inexorable
- resource {leak} --- like a cancer, it kills by crowding out
- productive `tissue'.
-
- :core dump: n. [common {Iron Age} jargon, preserved by UNIX]
- 1. [techspeak] A copy of the contents of {core}, produced when a
- process is aborted by certain kinds of internal error. 2. By
- extension, used for humans passing out, vomiting, or registering
- extreme shock. "He dumped core. All over the floor. What a
- mess." "He heard about X and dumped core." 3. Occasionally
- used for a human rambling on pointlessly at great length; esp. in
- apology: "Sorry, I dumped core on you". 4. A recapitulation of
- knowledge (compare {bits}, sense 1). Hence, spewing all one
- knows about a topic (syn. {brain dump}), esp. in a lecture or
- answer to an exam question. "Short, concise answers are better
- than core dumps" (from the instructions to an exam at Columbia).
- See {core}.
-
- :core leak: n. Syn. {memory leak}.
-
- :Core Wars: n. A game between `assembler' programs in a
- simulated machine, where the objective is to kill your opponent's
- program by overwriting it. Popularized by A. K. Dewdney's column
- in `Scientific American' magazine, this was actually
- devised by Victor Vyssotsky, Robert Morris, and Dennis Ritchie in
- the early 1960s (their original game was called `Darwin' and ran on
- a PDP-1 at Bell Labs). See {core}.
-
- :corge: /korj/ [originally, the name of a cat] n. Yet another
- {metasyntactic variable}, invented by Mike Gallaher and propagated
- by the {GOSMACS} documentation. See {grault}.
-
- :cosmic rays: n. Notionally, the cause of {bit rot}. However, this is
- a semi-independent usage that may be invoked as a humorous way to
- {handwave} away any minor {randomness} that doesn't seem worth the
- bother of investigating. "Hey, Eric --- I just got a burst of
- garbage on my {tube}, where did that come from?" "Cosmic rays, I
- guess." Compare {sunspots}, {phase of the moon}. The British seem
- to prefer the usage `cosmic showers'; `alpha particles' is also
- heard, because stray alpha particles passing through a memory chip
- can cause single-bit errors (this becomes increasingly more likely
- as memory sizes and densities increase).
-
- Factual note: Alpha particles cause bit rot, cosmic rays do not
- (except occasionally in spaceborne computers). Intel could not
- explain random bit drops in their early chips, and one hypothesis
- was cosmic rays. So they created the World's Largest Lead Safe,
- using 25 tons of the stuff, and used two identical boards for
- testing. One was placed in the safe, one outside. The hypothesis
- was that if cosmic rays were causing the bit drops, they should see
- a statistically significant difference between the error rates on
- the two boards. They did not observe such a difference. Further
- investigation demonstrated conclusively that the bit drops were due
- to alpha particle emissions from thorium (and to a much lesser
- degree uranium) in the encapsulation material. Since it is
- impossible to eliminate these radioactives (they are uniformly
- distributed through the earth's crust, with the statistically
- insignificant exception of uranium lodes) it became obvious that
- one has to design memories to withstand these hits.
-
- :cough and die: v. Syn. {barf}. Connotes that the program is
- throwing its hands up by design rather than because of a bug or
- oversight. "The parser saw a control-A in its input where it was
- looking for a printable, so it coughed and died." Compare
- {die}, {die horribly}, {scream and die}.
-
- :cowboy: [Sun, from William Gibson's {cyberpunk} SF] n. Synonym
- for {hacker}. It is reported that at Sun this word is often
- said with reverence.
-
- :CP/M:: /C-P-M/ n. [Control Program for Microcomputers] An early
- microcomputer {OS} written by hacker Gary Kildall for 8080- and
- Z80-based machines, very popular in the late 1970s but virtually
- wiped out by MS-DOS after the release of the IBM PC in 1981.
- Legend has it that Kildall's company blew its chance to write the
- OS for the IBM PC because Kildall decided to spend a day IBM's reps
- wanted to meet with him enjoying the perfect flying weather in his
- private plane. Many of CP/M's features and conventions strongly
- resemble those of early DEC operating systems such as
- {{TOPS-10}}, OS/8, RSTS, and RSX-11. See {{MS-DOS}},
- {operating system}.
-
- :CPU Wars: /C-P-U worz/ n. A 1979 large-format comic by Chas
- Andres chronicling the attempts of the brainwashed androids of IPM
- (Impossible to Program Machines) to conquer and destroy the
- peaceful denizens of HEC (Human Engineered Computers). This rather
- transparent allegory featured many references to {ADVENT} and
- the immortal line "Eat flaming death, minicomputer mongrels!"
- (uttered, of course, by an IPM stormtrooper). It is alleged that
- the author subsequently received a letter of appreciation on IBM
- company stationery from the head of IBM's Thomas J. Watson Research
- Laboratories (then, as now, one of the few islands of true
- hackerdom in the IBM archipelago). The lower loop of the B in the
- IBM logo, it is said, had been carefully whited out. See {eat
- flaming death}.
-
- :crack root: v. To defeat the security system of a UNIX machine and
- gain {root} privileges thereby; see {cracking}.
-
- :cracker: n. One who breaks security on a system. Coined ca. 1985
- by hackers in defense against journalistic misuse of {hacker}
- (q.v., sense 8). An earlier attempt to establish `worm' in this
- sense around 1981--82 on USENET was largely a failure.
-
- Both these neologisms reflected a strong revulsion against the
- theft and vandalism perpetrated by cracking rings. While it is
- expected that any real hacker will have done some playful cracking
- and knows many of the basic techniques, anyone past {larval
- stage} is expected to have outgrown the desire to do so.
-
- Thus, there is far less overlap between hackerdom and crackerdom
- than the {mundane} reader misled by sensationalistic journalism
- might expect. Crackers tend to gather in small, tight-knit, very
- secretive groups that have little overlap with the huge, open
- poly-culture this lexicon describes; though crackers often like to
- describe *themselves* as hackers, most true hackers consider
- them a separate and lower form of life.
-
- Ethical considerations aside, hackers figure that anyone who can't
- imagine a more interesting way to play with their computers than
- breaking into someone else's has to be pretty {losing}. Some
- other reasons crackers are looked down on are discussed in the
- entries on {cracking} and {phreaking}. See also
- {samurai}, {dark-side hacker}, and {hacker ethic,
- the}.
-
- :cracking: n. The act of breaking into a computer system; what a
- {cracker} does. Contrary to widespread myth, this does not
- usually involve some mysterious leap of hackerly brilliance, but
- rather persistence and the dogged repetition of a handful of fairly
- well-known tricks that exploit common weaknesses in the security of
- target systems. Accordingly, most crackers are only mediocre
- hackers.
-
- :crank: [from automotive slang] vt. Verb used to describe the
- performance of a machine, especially sustained performance. "This
- box cranks (or, cranks at) about 6 megaflops, with a burst mode
- of twice that on vectorized operations."
-
- :CrApTeX: /krap'tekh/ [University of York, England] n. Term of
- abuse used to describe TeX and LaTeX when they don't work (when
- used by TeXhackers), or all the time (by everyone else). The
- non-TeX enthusiasts generally dislike it because it is more verbose
- than other formatters (e.g. troff) and because (particularly if the
- standard Computer Modern fonts are used) it generates vast output
- files. See {religious issues}, {{TeX}}.
-
- :crash: 1. n. A sudden, usually drastic failure. Most often said
- of the {system} (q.v., sense 1), esp. of magnetic disk drives
- (the term originally described what happened when the air gap of a
- hard disk collapses). "Three {luser}s lost their files in last
- night's disk crash." A disk crash that involves the read/write
- heads dropping onto the surface of the disks and scraping off the
- oxide may also be referred to as a `head crash', whereas the term
- `system crash' usually, though not always, implies that the
- operating system or other software was at fault. 2. v. To fail
- suddenly. "Has the system just crashed?" "Something crashed
- the OS!" See {down}. Also used transitively to indicate the
- cause of the crash (usually a person or a program, or both).
- "Those idiots playing {SPACEWAR} crashed the system." 3. vi.
- Sometimes said of people hitting the sack after a long {hacking
- run}; see {gronk out}.
-
- :crash and burn: vi.,n. A spectacular crash, in the mode of the
- conclusion of the car-chase scene in the movie "Bullitt" and
- many subsequent imitators (compare {die horribly}). Sun-3
- monitors losing the flyback transformer and lightning strikes on
- VAX-11/780 backplanes are notable crash and burn generators. The
- construction `crash-and-burn machine' is reported for a computer
- used exclusively for alpha or {beta} testing, or reproducing
- bugs (i.e., not for development). The implication is that it
- wouldn't be such a disaster if that machine crashed, since only the
- testers would be inconvenienced.
-
- :crawling horror: n. Ancient crufty hardware or software that is
- kept obstinately alive by forces beyond the control of the hackers
- at a site. Like {dusty deck} or {gonkulator}, but connotes
- that the thing described is not just an irritation but an active
- menace to health and sanity. "Mostly we code new stuff in C, but
- they pay us to maintain one big FORTRAN II application from
- nineteen-sixty-X that's a real crawling horror...." Compare
- {WOMBAT}.
-
- :cray: /kray/ n. 1. (properly, capitalized) One of the line of
- supercomputers designed by Cray Research. 2. Any supercomputer at
- all. 3. The {canonical} {number-crunching} machine.
-
- The term is actually the lowercased last name of Seymour Cray, a
- noted computer architect and co-founder of the company. Numerous
- vivid legends surround him, some true and some admittedly invented
- by Cray Research brass to shape their corporate culture and image.
-
- :cray instability: n. A shortcoming of a program or algorithm that
- manifests itself only when a large problem is being run on a
- powerful machine (see {cray}). Generally more subtle than bugs
- that can be detected in smaller problems running on a workstation
- or mini.
-
- :crayola: /kray-oh'l*/ n. A super-mini or -micro computer that
- provides some reasonable percentage of supercomputer performance
- for an unreasonably low price. Might also be a {killer micro}.
-
- :crayola books: n. The {rainbow series} of NCSC computer
- security standards (see {Orange Book}). Usage: humorous and/or
- disparaging.
-
- :crayon: n. 1. Someone who works on Cray supercomputers. More
- specifically, it implies a programmer, probably of the CDC ilk,
- probably male, and almost certainly wearing a tie (irrespective of
- gender). Systems types who have a UNIX background tend not to be
- described as crayons. 2. A {computron} (sense 2) that
- participates only in {number-crunching}. 3. A unit of
- computational power equal to that of a single Cray-1. There is a
- standard joke about this usage that derives from an old Crayola
- crayon promotional gimmick: When you buy 64 crayons you get a free
- sharpener.
-
- :creationism: n. The (false) belief that large, innovative software
- designs can be completely specified in advance and then painlessly
- magicked out of the void by the normal efforts of a team of
- normally talented programmers. In fact, experience has shown
- repeatedly that good designs arise only from evolutionary,
- exploratory interaction between one (or at most a small handful of)
- exceptionally able designer(s) and an active user population ---
- and that the first try at a big new idea is always wrong.
- Unfortunately, because these truths don't fit the planning models
- beloved of {management}, they are generally ignored.
-
- :creep: v. To advance, grow, or multiply inexorably. In hackish usage
- this verb has overtones of menace and silliness, evoking the
- creeping horrors of low-budget monster movies.
-
- :creeping elegance: n. Describes a tendency for parts of a design
- to become {elegant} past the point of diminishing return,
- something which often happens at the expense of the less
- interesting parts of the design, the schedule, and other things
- deemed important in the {Real World}. See also {creeping
- featurism}, {second-system effect}, {tense}.
-
- :creeping featurism: /kree'ping fee'chr-izm/ n. 1. Describes a
- systematic tendency to load more {chrome} and {feature}s onto
- systems at the expense of whatever elegance they may have possessed
- when originally designed. See also {feeping creaturism}. "You
- know, the main problem with {BSD} UNIX has always been creeping
- featurism." 2. More generally, the tendency for anything
- complicated to become even more complicated because people keep
- saying "Gee, it would be even better if it had this feature too".
- (See {feature}.) The result is usually a patchwork because it
- grew one ad-hoc step at a time, rather than being planned.
- Planning is a lot of work, but it's easy to add just one extra
- little feature to help someone ... and then another ... and
- another.... When creeping featurism gets out of hand, it's
- like a cancer. Usually this term is used to describe computer
- programs, but it could also be said of the federal government, the
- IRS 1040 form, and new cars. A similar phenomenon sometimes
- afflicts conscious redesigns; see {second-system effect}. See
- also {creeping elegance}.
-
- :creeping featuritis: /kree'ping fee'-chr-i:`t*s/ n. Variant of
- {creeping featurism}, with its own spoonerization: `feeping
- creaturitis'. Some people like to reserve this form for the
- disease as it actually manifests in software or hardware, as
- opposed to the lurking general tendency in designers' minds.
- (After all, -ism means `condition' or `pursuit of', whereas
- -itis usually means `inflammation of'.)
-
- :cretin: /kret'in/ or /kree'tn/ n. Congenital {loser}; an obnoxious
- person; someone who can't do anything right. It has been observed
- that many American hackers tend to favor the British pronunciation
- /kret'in/ over standard American /kree'tn/; it is thought this may
- be due to the insidious phonetic influence of Monty Python's Flying
- Circus.
-
- :cretinous: /kret'n-*s/ or /kreet'n-*s/ adj. Wrong; stupid;
- non-functional; very poorly designed. Also used pejoratively of
- people. See {dread high-bit disease} for an example.
- Approximate synonyms: {bletcherous}, `bagbiting' (see
- {bagbiter}), {losing}, {brain-damaged}.
-
- :crippleware: n. 1. Software that has some important functionality
- deliberately removed, so as to entice potential users to pay for a
- working version. 2. [Cambridge] {Guiltware} that exhorts you to
- donate to some charity (compare {careware}, {nagware}).
- 3. Hardware deliberately crippled, which can be upgraded to a more
- expensive model by a trivial change (e.g., cutting a jumper).
-
- An excellent example of crippleware (sense 3) is Intel's 486SX
- chip, which is a standard 486DX chip with the co-processor dyked
- out (in some early versions it was present but disabled). To
- upgrade, you buy a complete 486DX chip with *working*
- co-processor (its identity thinly veiled by a different pinout) and
- plug it into the board's expansion socket. It then disables the
- SX, which becomes a fancy power sink. Don't you love Intel?
-
- :critical mass: n. In physics, the minimum amount of fissionable
- material required to sustain a chain reaction. Of a software
- product, describes a condition of the software such that fixing one
- bug introduces one plus {epsilon} bugs. (This malady has many
- causes: {creeping featurism}, ports to too many disparate
- environments, poor initial design, etc.) When software achieves
- critical mass, it can never be fixed; it can only be discarded and
- rewritten.
-
- :crlf: /ker'l*f/, sometimes /kru'l*f/ or /C-R-L-F/ n. (often
- capitalized as `CRLF') A carriage return (CR, ASCII 0001101)
- followed by a line feed (LF, ASCII 0001010). More loosely,
- whatever it takes to get you from the end of one line of text to
- the beginning of the next line. See {newline}, {terpri}.
- Under {{UNIX}} influence this usage has become less common (UNIX
- uses a bare line feed as its `CRLF').
-
- :crock: [from the American scatologism crock of shit] n. 1. An
- awkward feature or programming technique that ought to be made
- cleaner. For example, using small integers to represent error
- codes without the program interpreting them to the user (as in, for
- example, UNIX `make(1)', which returns code 139 for a process
- that dies due to {segfault}). 2. A technique that works
- acceptably, but which is quite prone to failure if disturbed in the
- least. For example, a too-clever programmer might write an
- assembler which mapped instruction mnemonics to numeric opcodes
- algorithmically, a trick which depends far too intimately on the
- particular bit patterns of the opcodes. (For another example of
- programming with a dependence on actual opcode values, see {The
- Story of Mel, a Real Programmer} in {Appendix A}.) Many crocks
- have a tightly woven, almost completely unmodifiable structure.
- See {kluge}, {brittle}. The adjectives `crockish' and
- `crocky', and the nouns `crockishness' and `crockitude', are
- also used.
-
- :cross-post: [USENET] vi. To post a single article simultaneously to
- several newsgroups. Distinguished from posting the article
- repeatedly, once to each newsgroup, which causes people to see it
- multiple times (which is very bad form). Gratuitous cross-posting
- without a Followup-To line directing responses to a single followup
- group is frowned upon, as it tends to cause {followup} articles
- to go to inappropriate newsgroups when people respond to only one
- part of the original posting.
-
- :crudware: /kruhd'weir/ n. Pejorative term for the hundreds of
- megabytes of low-quality {freeware} circulated by user's groups
- and BBS systems in the micro-hobbyist world. "Yet *another*
- set of disk catalog utilities for {{MS-DOS}}? What crudware!"
-
- :cruft: /kruhft/ [back-formation from {crufty}] 1. n. An
- unpleasant substance. The dust that gathers under your bed is
- cruft; the TMRC Dictionary correctly noted that attacking it with a
- broom only produces more. 2. n. The results of shoddy
- construction. 3. vt. [from `hand cruft', pun on `hand craft']
- To write assembler code for something normally (and better) done by
- a compiler (see {hand-hacking}). 4. n. Excess; superfluous
- junk; used esp. of redundant or superseded code.
-
- This term is one of the oldest in the jargon and no one is sure of
- its etymology, but it is suggestive that there is a Cruft Hall at
- Harvard University which is part of the old physics building; it's
- said to have been the physics department's radar lab during WWII.
- To this day (early 1993) the windows appear to be full of random
- techno-junk. MIT or Lincoln Labs people may well have coined the
- term as a knock on the competition.
-
- :cruft together: vt. (also `cruft up') To throw together
- something ugly but temporarily workable. Like vt. {kluge up},
- but more pejorative. "There isn't any program now to reverse all
- the lines of a file, but I can probably cruft one together in about
- 10 minutes." See {hack together}, {hack up}, {kluge up},
- {crufty}.
-
- :cruftsmanship: /kruhfts'm*n-ship / n. [from {cruft}] The
- antithesis of craftsmanship.
-
- :crufty: /kruhf'tee/ [origin unknown; poss. from `crusty']
- adj. 1. Poorly built, possibly over-complex. The {canonical}
- example is "This is standard old crufty DEC software". In fact,
- one fanciful theory of the origin of `crufty' holds that was
- originally a mutation of `crusty' applied to DEC software so old
- that the `s' characters were tall and skinny, looking more like
- `f' characters. 2. Unpleasant, especially to the touch, often with
- encrusted junk. Like spilled coffee smeared with peanut butter and
- catsup. 3. Generally unpleasant. 4. (sometimes spelled
- `cruftie') n. A small crufty object (see {frob}); often one
- that doesn't fit well into the scheme of things. "A LISP property
- list is a good place to store crufties (or, collectively,
- {random} cruft)."
-
- :crumb: n. Two binary digits; a {quad}. Larger than a {bit},
- smaller than a {nybble}. Considered silly. Syn. {tayste}.
-
- :crunch: 1. vi. To process, usually in a time-consuming or
- complicated way. Connotes an essentially trivial operation that is
- nonetheless painful to perform. The pain may be due to the
- triviality's being embedded in a loop from 1 to 1,000,000,000.
- "FORTRAN programs do mostly {number-crunching}." 2. vt. To
- reduce the size of a file by a complicated scheme that produces bit
- configurations completely unrelated to the original data, such as
- by a Huffman code. (The file ends up looking something like a
- paper document would if somebody crunched the paper into a wad.)
- Since such compression usually takes more computations than simpler
- methods such as run-length encoding, the term is doubly
- appropriate. (This meaning is usually used in the construction
- `file crunch(ing)' to distinguish it from {number-crunching}.)
- See {compress}. 3. n. The character `#'. Used at XEROX
- and CMU, among other places. See {{ASCII}}. 4. vt. To squeeze
- program source into a minimum-size representation that will still
- compile or execute. The term came into being specifically for a
- famous program on the BBC micro that crunched BASIC source in order
- to make it run more quickly (it was a wholly interpretive BASIC, so
- the number of characters mattered). {Obfuscated C Contest}
- entries are often crunched; see the first example under that
- entry.
-
- :cruncha cruncha cruncha: /kruhn'ch* kruhn'ch* kruhn'ch*/ interj.
- An encouragement sometimes muttered to a machine bogged down in a
- serious {grovel}. Also describes a notional sound made by
- groveling hardware. See {wugga wugga}, {grind} (sense 3).
-
- :cryppie: /krip'ee/ n. A cryptographer. One who hacks or implements
- cryptographic software or hardware.
-
- :CTSS: /C-T-S-S/ n. Compatible Time-Sharing System. An early
- (1963) experiment in the design of interactive time-sharing
- operating systems, ancestral to {{Multics}}, {{UNIX}}, and
- {{ITS}}. The name {{ITS}} (Incompatible Time-sharing System)
- was a hack on CTSS, meant both as a joke and to express some basic
- differences in philosophy about the way I/O services should be
- presented to user programs.
-
- :CTY: /sit'ee/ or /C-T-Y/ n. [MIT] The terminal physically
- associated with a computer's system {{console}}. The term is a
- contraction of `Console {tty}', that is, `Console TeleTYpe'.
- This {{ITS}}- and {{TOPS-10}}-associated term has become less
- common, as most UNIX hackers simply refer to the CTY as `the
- console'.
-
- :cube: n. 1. [short for `cubicle'] A module in the open-plan
- offices used at many programming shops. "I've got the manuals in
- my cube." 2. A NeXT machine (which resembles a matte-black cube).
-
- :cubing: [parallel with `tubing'] vi. 1. Hacking on an IPSC (Intel
- Personal SuperComputer) hypercube. "Louella's gone cubing
- *again*!!" 2. Hacking Rubik's Cube or related puzzles,
- either physically or mathematically. 3. An indescribable form of
- self-torture (see sense 1 or 2).
-
- :cursor dipped in X: n. There are a couple of metaphors in English
- of the form `pen dipped in X' (perhaps the most common values of X
- are `acid', `bile', and `vitriol'). These map over neatly to this
- hackish usage (the cursor being what moves, leaving letters behind,
- when one is composing on-line). "Talk about a {nastygram}! He
- must've had his cursor dipped in acid when he wrote that one!"
-
- :cuspy: /kuhs'pee/ [WPI: from the DEC abbreviation CUSP, for `Commonly
- Used System Program', i.e., a utility program used by many people]
- adj. 1. (of a program) Well-written. 2. Functionally excellent. A
- program that performs well and interfaces well to users is cuspy.
- See {rude}. 3. [NYU] Said of an attractive woman, especially one
- regarded as available. Implies a certain curvaceousness.
-
- :cut a tape: vi. To write a software or document distribution on
- magnetic tape for shipment. Has nothing to do with physically
- cutting the medium! Early versions of this lexicon claimed that
- one never analogously speaks of `cutting a disk', but this has
- since been reported as live usage. Related slang usages are
- mainstream business's `cut a check', the recording industry's
- `cut a record', and the military's `cut an order'.
-
- All of these usages reflect physical processes in obsolete
- recording and duplication technologies. The first stage in
- manufacturing an old-style vinyl record involved cutting grooves in
- a stamping die with a precision lathe. More mundanely, the
- dominant technology for mass duplication of paper documents in
- pre-photocopying days involved "cutting a stencil", punching away
- portions of the wax overlay on a silk screen. More directly,
- paper tape with holes punched in it was an important early storage
- medium.
-
- :cybercrud: /si:'ber-kruhd/ [coined by Ted Nelson] n. Obfuscatory
- tech-talk. Verbiage with a high {MEGO} factor. The computer
- equivalent of bureaucratese.
-
- :cyberpunk: /si:'ber-puhnk/ [orig. by SF writer Bruce Bethke
- and/or editor Gardner Dozois] n.,adj. A subgenre of SF launched
- in 1982 by William Gibson's epoch-making novel `Neuromancer'
- (though its roots go back through Vernor Vinge's `True Names'
- (see "{True Names ... and Other Dangers}" in
- appendix C) to John Brunner's 1975 novel `The Shockwave
- Rider'). Gibson's near-total ignorance of computers and the
- present-day hacker culture enabled him to speculate about the role
- of computers and hackers in the future in ways hackers have since
- found both irritatingly na"ive and tremendously stimulating.
- Gibson's work was widely imitated, in particular by the short-lived
- but innovative "Max Headroom" TV series. See
- {cyberspace}, {ice}, {jack in}, {go flatline}.
-
- :cyberspace: /si:'ber-spays/ n. 1. Notional `information-space'
- loaded with visual cues and navigable with brain-computer
- interfaces called `cyberspace decks'; a characteristic prop of
- {cyberpunk} SF. At the time of this writing (mid-1991),
- serious efforts to construct {virtual reality} interfaces
- modeled explicitly on Gibsonian cyberspace are already under way,
- using more conventional devices such as glove sensors and binocular
- TV headsets. Few hackers are prepared to deny outright the
- possibility of a cyberspace someday evolving out of the network
- (see {network, the}). 2. Occasionally, the metaphoric location
- of the mind of a person in {hack mode}. Some hackers report
- experiencing strong eidetic imagery when in hack mode;
- interestingly, independent reports from multiple sources suggest
- that there are common features to the experience. In particular,
- the dominant colors of this subjective `cyberspace' are often
- gray and silver, and the imagery often involves constellations of
- marching dots, elaborate shifting patterns of lines and angles, or
- moire patterns.
-
- :cycle: 1. n. The basic unit of computation. What every hacker
- wants more of (noted hacker Bill Gosper describes himself as a
- "cycle junkie"). One can describe an instruction as taking so
- many `clock cycles'. Often the computer can access its
- memory once on every clock cycle, and so one speaks also of
- `memory cycles'. These are technical meanings of {cycle}. The
- jargon meaning comes from the observation that there are only so
- many cycles per second, and when you are sharing a computer the
- cycles get divided up among the users. The more cycles the
- computer spends working on your program rather than someone else's,
- the faster your program will run. That's why every hacker wants
- more cycles: so he can spend less time waiting for the computer to
- respond. 2. By extension, a notional unit of *human* thought
- power, emphasizing that lots of things compete for the typical
- hacker's think time. "I refused to get involved with the Rubik's
- Cube back when it was big. Knew I'd burn too many cycles on it if
- I let myself." 3. vt. Syn. {bounce}, {120 reset}; from the
- phrase `cycle power'. "Cycle the machine again, that serial port's
- still hung."
-
- :cycle crunch: n. A situation wherein the number of people trying
- to use a computer simultaneously has reached the point where no one
- can get enough cycles because they are spread too thin and the
- system has probably begun to {thrash}. This scenario is an
- inevitable result of Parkinson's Law applied to timesharing.
- Usually the only solution is to buy more computer. Happily, this
- has rapidly become easier since the mid-1980s, so much so that the
- very term `cycle crunch' now has a faintly archaic flavor; most
- hackers now use workstations or personal computers as opposed to
- traditional timesharing systems.
-
- :cycle drought: n. A scarcity of cycles. It may be due to a {cycle
- crunch}, but it could also occur because part of the computer is
- temporarily not working, leaving fewer cycles to go around.
- "The {high moby} is {down}, so we're running with only
- half the usual amount of memory. There will be a cycle drought
- until it's fixed."
-
- :cycle of reincarnation: [coined by Ivan Sutherland ca. 1970] n.
- Term used to refer to a well-known effect whereby function in a
- computing system family is migrated out to special-purpose
- peripheral hardware for speed, then the peripheral evolves toward
- more computing power as it does its job, then somebody notices that
- it is inefficient to support two asymmetrical processors in the
- architecture and folds the function back into the main CPU, at
- which point the cycle begins again. Several iterations of this
- cycle have been observed in graphics-processor design, and at least
- one or two in communications and floating-point processors. Also
- known as `the Wheel of Life', `the Wheel of Samsara', and other
- variations of the basic Hindu/Buddhist theological idea. See also
- {blitter}, {bit bang}.
-
- :cycle server: n. A powerful machine that exists primarily for
- running large {batch} jobs. Implies that interactive tasks such as
- editing are done on other machines on the network, such as
- workstations.
-
- = D =
- =====
-
- :D. C. Power Lab: n. The former site of {{SAIL}}. Hackers thought
- this was very funny because the obvious connection to electrical
- engineering was nonexistent --- the lab was named for a Donald C.
- Power. Compare {Marginal Hacks}.
-
- :daemon: /day'mn/ or /dee'mn/ [from the mythological meaning,
- later rationalized as the acronym `Disk And Execution MONitor'] n.
- A program that is not invoked explicitly, but lies dormant waiting
- for some condition(s) to occur. The idea is that the perpetrator
- of the condition need not be aware that a daemon is lurking (though
- often a program will commit an action only because it knows that it
- will implicitly invoke a daemon). For example, under {{ITS}}
- writing a file on the {LPT} spooler's directory would invoke the
- spooling daemon, which would then print the file. The advantage is
- that programs wanting (in this example) files printed need neither
- compete for access to nor understand any idiosyncrasies of the
- {LPT}. They simply enter their implicit requests and let the
- daemon decide what to do with them. Daemons are usually spawned
- automatically by the system, and may either live forever or be
- regenerated at intervals.
-
- Daemon and {demon} are often used interchangeably, but seem to
- have distinct connotations. The term `daemon' was introduced to
- computing by {CTSS} people (who pronounced it /dee'mon/) and
- used it to refer to what ITS called a {dragon}. Although the
- meaning and the pronunciation have drifted, we think this glossary
- reflects current (1993) usage.
-
- :dangling pointer: n. A reference that doesn't actually lead
- anywhere (in C and some other languages, a pointer that doesn't
- actually point at anything valid). Usually this happens because it
- formerly pointed to something that has moved or disappeared. Used
- as jargon in a generalization of its techspeak meaning; for
- example, a local phone number for a person who has since moved to
- the other coast is a dangling pointer.
-
- :dark-side hacker: n. A criminal or malicious hacker; a
- {cracker}. From George Lucas's Darth Vader, "seduced by the
- dark side of the Force". The implication that hackers form a
- sort of elite of technological Jedi Knights is intended. Oppose
- {samurai}.
-
- :Datamation: /day`t*-may'sh*n/ n. A magazine that many hackers
- assume all {suit}s read. Used to question an unbelieved quote,
- as in "Did you read that in `Datamation?'" It used to
- publish something hackishly funny every once in a while, like the
- original paper on {COME FROM} in 1973, and Ed Post's "Real
- Programmers Don't Use Pascal" ten years later, but it has since
- become much more exclusively {suit}-oriented and boring.
-
- :DAU: /dow/ [German Fidonet] n. German acronym for D"ummster
- Anzunehmender User (stupidest imaginable user). From the
- engin-eering-slang GAU for Gr"osster Anzunehmender Unfall (worst
- foreseeable accident, esp. of a LNG tank farm plant or something
- with similarly disastrous consequences).See {cretin}, {fool},
- {loser} and {weasel}.
-
- :day mode: n. See {phase} (sense 1). Used of people only.
-
- :dd: /dee-dee/ [UNIX: from IBM {JCL}] vt. Equivalent to
- {cat} or {BLT}. Originally the name of a UNIX copy command
- with special options suitable for block-oriented devices; it was
- often used in heavy-handed system maintenance, as in "Let's
- `dd' the root partition onto a tape, then use the boot PROM to
- load it back on to a new disk". The UNIX `dd(1)' was
- designed with a weird, distinctly non-UNIXy keyword option syntax
- reminiscent of IBM System/360 JCL (which had an elaborate DD
- `Dataset Definition' specification for I/O devices); though the
- command filled a need, the interface design was clearly a prank.
- The jargon usage is now very rare outside UNIX sites and now nearly
- obsolete even there, as `dd(1)' has been {deprecated} for a
- long time (though it has no exact replacement). The term has been
- displaced by {BLT} or simple English `copy'.
-
- :DDT: /D-D-T/ n. 1. Generic term for a program that assists in
- debugging other programs by showing individual machine instructions
- in a readable symbolic form and letting the user change them. In
- this sense the term DDT is now archaic, having been widely
- displaced by `debugger' or names of individual programs like
- `adb', `sdb', `dbx', or `gdb'. 2. [ITS] Under
- MIT's fabled {{ITS}} operating system, DDT (running under the alias
- HACTRN) was also used as the {shell} or top level command
- language used to execute other programs. 3. Any one of several
- specific DDTs (sense 1) supported on early DEC hardware. The DEC
- PDP-10 Reference Handbook (1969) contained a footnote on the first
- page of the documentation for DDT that illuminates the origin of
- the term:
-
- Historical footnote: DDT was developed at MIT for the PDP-1
- computer in 1961. At that time DDT stood for "DEC Debugging
- Tape". Since then, the idea of an on-line debugging program has
- propagated throughout the computer industry. DDT programs are now
- available for all DEC computers. Since media other than tape are
- now frequently used, the more descriptive name "Dynamic Debugging
- Technique" has been adopted, retaining the DDT abbreviation.
- Confusion between DDT-10 and another well known pesticide,
- dichloro-diphenyl-trichloroethane (C14-H9-Cl5) should be minimal
- since each attacks a different, and apparently mutually exclusive,
- class of bugs.
-
- Sadly, this quotation was removed from later editions of the
- handbook after the {suit}s took over and DEC became much more
- `businesslike'.
-
- The history above is known to many old-time hackers. But there's
- more: Peter Samson, compiler of the original {TMRC} lexicon,
- reports that he named `DDT' after a similar tool on the TX-0
- computer, the direct ancestor of the PDP-1 built at MIT's Lincoln
- Lab in 1957. The debugger on that ground-breaking machine (the
- first transistorized computer) rejoiced in the name FLIT
- (FLexowriter Interrogation Tape).
-
- :de-rezz: /dee-rez'/ [from `de-resolve' via the movie
- "Tron"] (also `derez') 1. vi. To disappear or dissolve; the
- image that goes with it is of an object breaking up into raster
- lines and static and then dissolving. Occasionally used of a
- person who seems to have suddenly `fuzzed out' mentally rather than
- physically. Usage: extremely silly, also rare. This verb was
- actually invented as *fictional* hacker jargon, and adopted in
- a spirit of irony by real hackers years after the fact. 2. vt. The
- Macintosh resource decompiler. On a Macintosh, many program
- structures (including the code itself) are managed in small
- segments of the program file known as `resources'; `Rez' and
- `DeRez' are a pair of utilities for compiling and decompiling
- resource files. Thus, decompiling a resource is `derezzing'.
- Usage: very common.
-
- :dead: adj. 1. Non-functional; {down}; {crash}ed. Especially
- used of hardware. 2. At XEROX PARC, software that is working but
- not undergoing continued development and support.
-
- :dead code: n. Routines that can never be accessed because all
- calls to them have been removed, or code that cannot be reached
- because it is guarded by a control structure that provably must
- always transfer control somewhere else. The presence of dead code
- may reveal either logical errors due to alterations in the program
- or significant changes in the assumptions and environment of the
- program (see also {software rot}); a good compiler should report
- dead code so a maintainer can think about what it means.
- (Sometimes it simply means that an *extremely* defensive
- programmer has inserted {can't happen} tests which really can't
- happen --- yet.) Syn. {grunge}.
-
- :DEADBEEF: /ded-beef/ n. The hexadecimal word-fill pattern for
- freshly allocated memory (decimal -21524111) under a number of
- IBM environments, including the RS/6000. As in "Your program is
- DEADBEEF" (meaning gone, aborted, flushed from memory); if you
- start from an odd half-word boundary, of course, you have
- BEEFDEAD.
-
- :deadlock: n. 1. [techspeak] A situation wherein two or more
- processes are unable to proceed because each is waiting for one of
- the others to do something. A common example is a program
- communicating to a server, which may find itself waiting for output
- from the server before sending anything more to it, while the
- server is similarly waiting for more input from the controlling
- program before outputting anything. (It is reported that this
- particular flavor of deadlock is sometimes called a `starvation
- deadlock', though the term `starvation' is more properly used for
- situations where a program can never run simply because it never
- gets high enough priority. Another common flavor is
- `constipation', in which each process is trying to send stuff to
- the other but all buffers are full because nobody is reading
- anything.) See {deadly embrace}. 2. Also used of deadlock-like
- interactions between humans, as when two people meet in a narrow
- corridor, and each tries to be polite by moving aside to let the
- other pass, but they end up swaying from side to side without
- making any progress because they always move the same way at the
- same time.
-
- :deadly embrace: n. Same as {deadlock}, though usually used only when
- exactly two processes are involved. This is the more popular term in
- Europe, while {deadlock} predominates in the United States.
-
- :death code: n. A routine whose job is to set everything in the
- computer --- registers, memory, flags, everything --- to zero,
- including that portion of memory where it is running; its last act
- is to stomp on its own "store zero" instruction. Death code
- isn't very useful, but writing it is an interesting hacking
- challenge on architectures where the instruction set makes it
- possible, such as the PDP-8 (it has also been done on the DG Nova).
-
- Perhaps the ultimate death code is on the TI 990 series, where all
- registers are actually in RAM, and the instruction "store
- immediate 0" has the opcode "0". The PC will immediately wrap
- around core as many times as it can until a user hits HALT. Any
- empty memory location is death code. Worse, the manufacturer
- recommended use of this instruction in startup code (which would be
- in ROM and therefore survive).
-
- :Death Star: [from the movie "Star Wars"] 1. The AT&T
- corporate logo, which appears on computers sold by AT&T and bears
- an uncanny resemblance to the Death Star in the movie. This usage
- is particularly common among partisans of {BSD} UNIX, who tend
- to regard the AT&T versions as inferior and AT&T as a bad guy.
- Copies still circulate of a poster printed by Mt. Xinu showing a
- starscape with a space fighter labeled 4.2 BSD streaking away from
- a broken AT&T logo wreathed in flames. 2. AT&T's internal
- magazine, `Focus', uses `death star' to describe an
- incorrectly done AT&T logo in which the inner circle in the top
- left is dark instead of light --- a frequent result of
- dark-on-light logo images.
-
- :dec: /dek/ v. Common verbal shorthand for decrement, i.e.
- `decrease by one' (one doesn't tend to see the sbbreviation in
- writing or email). Especially used by assembly programmers, as many
- assembly languages (including those for Intel chips) have a
- `dec' mnemonic. Antonym: {inc}.
-
- :DEC Wars: n. A 1983 {USENET} posting by Alan Hastings and Steve
- Tarr spoofing the "Star Wars" movies in hackish terms. Some
- years later, ESR (disappointed by Hastings and Tarr's failure to
- exploit a great premise more thoroughly) posted a
- 3-times-longer complete rewrite called "UNIX WARS"; the
- two are often confused.
-
- :decay: [from nuclear physics] n.,vi. An automatic conversion which
- is applied to most array-valued expressions in {C}; they `decay
- into' pointer-valued expressions pointing to the array's first
- element. This term is borderline techspeak, but is not used in the
- official standard for the language.
-
- :DEChead: /dek'hed/ n. 1. A DEC {field servoid}. Not flattering.
- 2. [from `deadhead'] A Grateful Dead fan working at DEC.
-
- :deckle: /dek'l/ [from dec- and {nybble}; the original
- spelling seems to have been `decle'] n. Two {nickle}s;
- 10 bits. Reported among developers for Mattel's GI 1600 (the
- Intellivision games processor), a chip with 16-bit-wide RAM but
- 10-bit-wide ROM.
-
- :DED: /D-E-D/ n. Dark-Emitting Diode (that is, a burned-out
- LED). Compare {SED}, {LER}, {write-only memory}. In the
- early 1970s both Signetics and Texas instruments released DED spec
- sheets as {AFJ}s (suggested uses included "as a power-off
- indicator").
-
- :deep hack mode: n. See {hack mode}.
-
- :deep magic: [poss. from C. S. Lewis's "Narnia" books] n. An
- awesomely arcane technique central to a program or system, esp. one
- neither generally published nor available to hackers at large (compare
- {black art}); one that could only have been composed by a true
- {wizard}. Compiler optimization techniques and many aspects of
- {OS} design used to be {deep magic}; many techniques in
- cryptography, signal processing, graphics, and AI still are.
- Compare {heavy wizardry}. Esp. found in comments of the form
- "Deep magic begins here...". Compare {voodoo programming}.
-
- :deep space: n. 1. Describes the notional location of any program
- that has gone {off the trolley}. Esp. used of programs that
- just sit there silently grinding long after either failure or some
- output is expected. "Uh oh. I should have gotten a prompt ten
- seconds ago. The program's in deep space somewhere." Compare
- {buzz}, {catatonic}, {hyperspace}. 2. The metaphorical
- location of a human so dazed and/or confused or caught up in some
- esoteric form of {bogosity} that he or she no longer responds
- coherently to normal communication. Compare {page out}.
-
- :defenestration: [from the traditional Czechoslovakian method of
- assassinating prime ministers, via SF fandom] n. 1. Proper karmic
- retribution for an incorrigible punster. "Oh, ghod, that was
- *awful*!" "Quick! Defenestrate him!" 2. The act of
- exiting a window system in order to get better response time from a
- full-screen program. This comes from the dictionary meaning of
- `defenestrate', which is to throw something out a window. 3. The
- act of discarding something under the assumption that it will
- improve matters. "I don't have any disk space left." "Well,
- why don't you defenestrate that 100 megs worth of old core dumps?"
- 4. [proposed] The requirement to support a command-line interface.
- "It has to run on a VT100." "Curses! I've been
- defenestrated!"
-
- :defined as: adj. In the role of, usually in an organization-chart
- sense. "Pete is currently defined as bug prioritizer." Compare
- {logical}.
-
- :dehose: /dee-hohz/ vt. To clear a {hosed} condition.
-
- :delint: /dee-lint/ v. To modify code to remove problems detected
- when {lint}ing. Confusingly, this process is also referred to
- as `linting' code.
-
- :delta: n. 1. [techspeak] A quantitative change, especially a small
- or incremental one (this use is general in physics and
- engineering). "I just doubled the speed of my program!" "What
- was the delta on program size?" "About 30 percent." (He
- doubled the speed of his program, but increased its size by only 30
- percent.) 2. [UNIX] A {diff}, especially a {diff} stored
- under the set of version-control tools called SCCS (Source Code
- Control System) or RCS (Revision Control System). 3. n. A small
- quantity, but not as small as {epsilon}. The jargon usage of
- {delta} and {epsilon} stems from the traditional use of these
- letters in mathematics for very small numerical quantities,
- particularly in `epsilon-delta' proofs in limit theory (as in the
- differential calculus). The term {delta} is often used, once
- {epsilon} has been mentioned, to mean a quantity that is
- slightly bigger than {epsilon} but still very small. "The cost
- isn't epsilon, but it's delta" means that the cost isn't totally
- negligible, but it is nevertheless very small. Common
- constructions include `within delta of ---', `within epsilon of
- ---': that is, `close to' and `even closer to'.
-
- :demented: adj. Yet another term of disgust used to describe a
- program. The connotation in this case is that the program works as
- designed, but the design is bad. Said, for example, of a program
- that generates large numbers of meaningless error messages,
- implying that it is on the brink of imminent collapse. Compare
- {wonky}, {bozotic}.
-
- :demigod: n. A hacker with years of experience, a national reputation,
- and a major role in the development of at least one design, tool,
- or game used by or known to more than half of the hacker community.
- To qualify as a genuine demigod, the person must recognizably
- identify with the hacker community and have helped shape it. Major
- demigods include Ken Thompson and Dennis Ritchie (co-inventors of
- {{UNIX}} and {C}) and Richard M. Stallman (inventor of
- {EMACS}). In their hearts of hearts, most hackers dream of
- someday becoming demigods themselves, and more than one major
- software project has been driven to completion by the author's
- veiled hopes of apotheosis. See also {net.god}, {true-hacker}.
-
- :demo: /de'moh/ [short for `demonstration'] 1. v. To
- demonstrate a product or prototype. A far more effective way of
- inducing bugs to manifest than any number of {test} runs,
- especially when important people are watching. 2. n. The act of
- demoing. "I've gotta give a demo of the drool-proof interface;
- how does it work again?" 3. n. Esp. as `demo version', can
- refer either to an early, barely-functional version of a program
- which can be used for demonstration purposes as long as the
- operator uses *exactly* the right commands and skirts its numerous
- bugs, deficiencies, and unimplemented portions, or to a special
- version of a program (frequently with some features crippled) which
- is distributed at little or no cost to the user for enticement
- purposes.
-
- :demo mode: [Sun] n. 1. The state of being {heads down} in order
- to finish code in time for a {demo}, usually due yesterday.
- 2. A mode in which video games sit by themselves running through a
- portion of the game, also known as `attract mode'. Some serious
- {app}s have a demo mode they use as a screen saver, or may go
- through a demo mode on startup (for example, the Microsoft Windows
- opening screen --- which lets you impress your neighbors without
- actually having to put up with {Microsloth Windows}).
-
- :demon: n. 1. [MIT] A portion of a program that is not invoked
- explicitly, but that lies dormant waiting for some condition(s) to
- occur. See {daemon}. The distinction is that demons are
- usually processes within a program, while daemons are usually
- programs running on an operating system. 2. [outside MIT] Often used
- equivalently to {daemon} --- especially in the {{UNIX}} world,
- where the latter spelling and pronunciation is considered mildly
- archaic.
-
- Demons in sense 1 are particularly common in AI programs. For
- example, a knowledge-manipulation program might implement inference
- rules as demons. Whenever a new piece of knowledge was added,
- various demons would activate (which demons depends on the
- particular piece of data) and would create additional pieces of
- knowledge by applying their respective inference rules to the
- original piece. These new pieces could in turn activate more
- demons as the inferences filtered down through chains of logic.
- Meanwhile, the main program could continue with whatever its
- primary task was.
-
- :depeditate: /dee-ped'*-tayt/ [by (faulty) analogy with
- `decapitate'] vt. Humorously, to cut off the feet of. When one is
- using some computer-aided typesetting tools, careless placement of
- text blocks within a page or above a rule can result in chopped-off
- letter descenders. Such letters are said to have been depeditated.
-
- :deprecated: adj. Said of a program or feature that is considered
- obsolescent and in the process of being phased out, usually in
- favor of a specified replacement. Deprecated features can,
- unfortunately, linger on for many years. This term appears with
- distressing frequency in standards documents when the committees
- writing the documents realize that large amounts of extant (and
- presumably happily working) code depend on the feature(s) that have
- passed out of favor. See also {dusty deck}.
-
- :deserves to lose: adj. Said of someone who willfully does the
- {Wrong Thing}; humorously, if one uses a feature known to be
- {marginal}. What is meant is that one deserves the consequences
- of one's {losing} actions. "Boy, anyone who tries to use
- {mess-dos} deserves to {lose}!" ({{ITS}} fans used to say
- the same thing of {{UNIX}}; many still do.) See also {screw},
- {chomp}, {bagbiter}.
-
- :desk check: n.,v. To {grovel} over hardcopy of source code,
- mentally simulating the control flow; a method of catching bugs.
- No longer common practice in this age of on-screen editing, fast
- compiles, and sophisticated debuggers --- though some maintain
- stoutly that it ought to be. Compare {eyeball search},
- {vdiff}, {vgrep}.
-
- :despew: /d*-spyoo'/ [USENET] v. To automatically generate a
- large amount of garbage to the net, esp. from an automated posting
- program gone wild. See {ARMM}.
-
- :Devil Book: n. `The Design and Implementation of the 4.3BSD
- UNIX Operating System', by Samuel J. Leffler, Marshall Kirk
- McKusick, Michael J. Karels, and John S. Quarterman (Addison-Wesley
- Publishers, 1989, ISBN 0-201-06196-1) --- the standard reference
- book on the internals of {BSD} UNIX. So called because the
- cover has a picture depicting a little devil (a visual play on
- {daemon}) in sneakers, holding a pitchfork (referring to one of
- the characteristic features of UNIX, the `fork(2)' system
- call).
-
- :devo: /dee'voh/ [orig. in-house jargon at Symbolics] n. A person in a
- development group. See also {doco} and {mango}.
-
- :dickless workstation: n. Extremely pejorative hackerism for
- `diskless workstation', a class of botches including the Sun 3/50
- and other machines designed exclusively to network with an
- expensive central disk server. These combine all the disadvantages
- of time-sharing with all the disadvantages of distributed personal
- computers; typically, they cannot even {boot} themselves without
- help (in the form of some kind of {breath-of-life packet}) from
- the server.
-
- :dictionary flame: [USENET] n. An attempt to sidetrack a debate
- away from issues by insisting on meanings for key terms that
- presuppose a desired conclusion or smuggle in an implicit premise.
- A common tactic of people who prefer argument over definitions to
- disputes about reality. Compare {spelling flame}.
-
- :diddle: 1. vt. To work with or modify in a not particularly
- serious manner. "I diddled a copy of {ADVENT} so it didn't
- double-space all the time." "Let's diddle this piece of code and
- see if the problem goes away." See {tweak} and {twiddle}.
- 2. n. The action or result of diddling. See also {tweak},
- {twiddle}, {frob}.
-
- :die: v. Syn. {crash}. Unlike {crash}, which is used
- primarily of hardware, this verb is used of both hardware and
- software. See also {go flatline}, {casters-up mode}.
-
- :die horribly: v. The software equivalent of {crash and burn},
- and the preferred emphatic form of {die}. "The converter
- choked on an FF in its input and died horribly".
-
- :diff: /dif/ n. 1. A change listing, especially giving
- differences between (and additions to) source code or documents
- (the term is often used in the plural `diffs'). "Send me your
- diffs for the Jargon File!" Compare {vdiff}. 2. Specifically,
- such a listing produced by the `diff(1)' command, esp. when
- used as specification input to the `patch(1)' utility (which
- can actually perform the modifications; see {patch}). This is a
- common method of distributing patches and source updates in the
- UNIX/C world. 3. v. To compare (whether or not by use of automated
- tools on machine-readable files); see also {vdiff},
- {mod}.
-
- :digit: n. An employee of Digital Equipment Corporation. See also
- {VAX}, {VMS}, {PDP-10}, {{TOPS-10}}, {DEChead}, {double
- DECkers}, {field circus}.
-
- :dike: vt. To remove or disable a portion of something, as a wire
- from a computer or a subroutine from a program. A standard slogan
- is "When in doubt, dike it out". (The implication is that it is
- usually more effective to attack software problems by reducing
- complexity than by increasing it.) The word `dikes' is widely
- used among mechanics and engineers to mean `diagonal cutters',
- esp. the heavy-duty metal-cutting version, but may also refer to a
- kind of wire-cutters used by electronics techs. To `dike
- something out' means to use such cutters to remove something.
- Indeed, the TMRC Dictionary defined dike as "to attack with
- dikes". Among hackers this term has been metaphorically extended
- to informational objects such as sections of code.
-
- :ding: n.,vi. 1. Synonym for {feep}. Usage: rare among hackers,
- but commoner in the {Real World}. 2. `dinged': What happens
- when someone in authority gives you a minor bitching about
- something, esp. something trivial. "I was dinged for having a
- messy desk."
-
- :dink: /dink/ adj. Said of a machine that has the {bitty box}
- nature; a machine too small to be worth bothering with ---
- sometimes the system you're currently forced to work on. First
- heard from an MIT hacker working on a CP/M system with 64K, in
- reference to any 6502 system, then from fans of 32-bit
- architectures about 16-bit machines. "GNUMACS will never work on
- that dink machine." Probably derived from mainstream `dinky',
- which isn't sufficiently pejorative. See {macdink}.
-
- :dinosaur: n. 1. Any hardware requiring raised flooring and special
- power. Used especially of old minis and mainframes, in contrast
- with newer microprocessor-based machines. In a famous quote from
- the 1988 UNIX EXPO, Bill Joy compared the liquid-cooled mainframe
- in the massive IBM display with a grazing dinosaur "with a truck
- outside pumping its bodily fluids through it". IBM was not
- amused. Compare {big iron}; see also {mainframe}. 2. [IBM]
- A very conservative user; a {zipperhead}.
-
- :dinosaur pen: n. A traditional {mainframe} computer room complete with
- raised flooring, special power, its own ultra-heavy-duty air
- conditioning, and a side order of Halon fire extinguishers. See
- {boa}.
-
- :dinosaurs mating: n. Said to occur when yet another {big iron}
- merger or buyout occurs; reflects a perception by hackers that
- these signal another stage in the long, slow dying of the
- {mainframe} industry. In its glory days of the 1960s, it was
- `IBM and the Seven Dwarves': Burroughs, Control Data, General
- Electric, Honeywell, NCR, RCA, and Univac. RCA and GE sold out
- early, and it was `IBM and the Bunch' (Burroughs, Univac, NCR,
- Control Data, and Honeywell) for a while. Honeywell was bought out
- by Bull; Burroughs merged with Univac to form Unisys (in 1984 ---
- this was when the phrase `dinosaurs mating' was coined); and in
- 1991 AT&T absorbed NCR. More such earth-shaking unions of doomed
- giants seem inevitable.
-
- :dirtball: [XEROX PARC] n. A small, perhaps struggling outsider;
- not in the major or even the minor leagues. For example, "Xerox
- is not a dirtball company".
-
- [Outsiders often observe in the PARC culture an institutional
- arrogance which usage of this term exemplifies. The brilliance and
- scope of PARC's contributions to computer science have been such
- that this superior attitude is not much resented. --- ESR]
-
- :dirty power: n. Electrical mains voltage that is unfriendly to
- the delicate innards of computers. Spikes, {drop-outs}, average
- voltage significantly higher or lower than nominal, or just plain
- noise can all cause problems of varying subtlety and severity
- (these are collectively known as {power hit}s).
-
- :disclaimer: n. [USENET] n. Statement ritually appended to many USENET
- postings (sometimes automatically, by the posting software) reiterating
- the fact (which should be obvious, but is easily forgotten) that the
- article reflects its author's opinions and not necessarily those of
- the organization running the machine through which the article
- entered the network.
-
- :Discordianism: /dis-kor'di-*n-ism/ n. The veneration of
- {Eris}, a.k.a. Discordia; widely popular among hackers.
- Discordianism was popularized by Robert Shea and Robert Anton
- Wilson's novel `{Illuminatus!}' as a sort of
- self-subverting Dada-Zen for Westerners --- it should on no account
- be taken seriously but is far more serious than most jokes.
- Consider, for example, the Fifth Commandment of the Pentabarf, from
- `Principia Discordia': "A Discordian is Prohibited of
- Believing What he Reads." Discordianism is usually connected with
- an elaborate conspiracy theory/joke involving millennia-long
- warfare between the anarcho-surrealist partisans of Eris and a
- malevolent, authoritarian secret society called the Illuminati.
- See {Religion} under {Appendix B}, {Church of the
- SubGenius}, and {ha ha only serious}.
-
- :disk farm: n. (also {laundromat}) A large room or rooms filled
- with disk drives (esp. {washing machine}s).
-
- :display hack: n. A program with the same approximate purpose as a
- kaleidoscope: to make pretty pictures. Famous display hacks
- include {munching squares}, {smoking clover}, the BSD UNIX
- `rain(6)' program, `worms(6)' on miscellaneous UNIXes,
- and the {X} `kaleid(1)' program. Display hacks can also be
- implemented without programming by creating text files containing
- numerous escape sequences for interpretation by a video terminal;
- one notable example displayed, on any VT100, a Christmas tree with
- twinkling lights and a toy train circling its base. The {hack
- value} of a display hack is proportional to the esthetic value of
- the images times the cleverness of the algorithm divided by the
- size of the code. Syn. {psychedelicware}.
-
- :Dissociated Press: [play on `Associated Press'; perhaps inspired
- by a reference in the 1949 Bugs Bunny cartoon "What's Up,
- Doc?"] n. An algorithm for transforming any text into potentially
- humorous garbage even more efficiently than by passing it through a
- {marketroid}. The algorithm starts by printing any N
- consecutive words (or letters) in the text. Then at every step it
- searches for any random occurrence in the original text of the
- last N words (or letters) already printed and then prints
- the next word or letter. {EMACS} has a handy command for this.
- Here is a short example of word-based Dissociated Press applied to
- an earlier version of this Jargon File:
-
- wart: n. A small, crocky {feature} that sticks out of
- an array (C has no checks for this). This is relatively
- benign and easy to spot if the phrase is bent so as to be
- not worth paying attention to the medium in question.
-
- Here is a short example of letter-based Dissociated Press applied
- to the same source:
-
- window sysIWYG: n. A bit was named aften /bee't*/ prefer
- to use the other guy's re, especially in every cast a
- chuckle on neithout getting into useful informash speech
- makes removing a featuring a move or usage actual
- abstractionsidered interj. Indeed spectace logic or problem!
-
- A hackish idle pastime is to apply letter-based Dissociated Press
- to a random body of text and {vgrep} the output in hopes of finding
- an interesting new word. (In the preceding example, `window
- sysIWYG' and `informash' show some promise.) Iterated applications
- of Dissociated Press usually yield better results. Similar
- techniques called `travesty generators' have been employed with
- considerable satirical effect to the utterances of USENET flamers;
- see {pseudo}.
-
- :distribution: n. 1. A software source tree packaged for
- distribution; but see {kit}. 2. A vague term encompassing
- mailing lists and USENET newsgroups (but not {BBS} {fora}); any
- topic-oriented message channel with multiple recipients. 3. An
- information-space domain (usually loosely correlated with
- geography) to which propagation of a USENET message is restricted;
- a much-underutilized feature.
-
- :do protocol: [from network protocol programming] vi. To perform an
- interaction with somebody or something that follows a clearly
- defined procedure. For example, "Let's do protocol with the
- check" at a restaurant means to ask for the check, calculate the
- tip and everybody's share, collect money from everybody, generate
- change as necessary, and pay the bill. See {protocol}.
-
- :doc: /dok/ n. Common spoken and written shorthand for
- `documentation'. Often used in the plural `docs' and in the
- construction `doc file' (i.e., documentation available on-line).
-
- :doco: /do'koh/ [orig. in-house jargon at Symbolics] n. A
- documentation writer. See also {devo} and {mango}.
-
- :documentation:: n. The multiple kilograms of macerated, pounded,
- steamed, bleached, and pressed trees that accompany most modern
- software or hardware products (see also {tree-killer}). Hackers
- seldom read paper documentation and (too) often resist writing it;
- they prefer theirs to be terse and on-line. A common comment on
- this predilection is "You can't {grep} dead trees". See
- {drool-proof paper}, {verbiage}, {treeware}.
-
- :dodgy: adj. Syn. with {flaky}. Preferred outside the U.S.
-
- :dogcow: /dog'kow/ n. See {Moof}.
-
- :dogwash: /dog'wosh/ [From a quip in the `urgency' field of a very
- optional software change request, ca. 1982. It was something like
- "Urgency: Wash your dog first".] 1. n. A project of minimal
- priority, undertaken as an escape from more serious work. 2. v.
- To engage in such a project. Many games and much {freeware} get
- written this way.
-
- :domainist: /doh-mayn'ist/ adj. 1. Said of an {{Internet
- address}} (as opposed to a {bang path}) because the part to the
- right of the `@' specifies a nested series of `domains';
- for example, esr@snark.thyrsus.com specifies the machine
- called snark in the subdomain called thyrsus within the
- top-level domain called com. See also {big-endian}, sense
- 2. 2. Said of a site, mailer, or routing program which knows how
- to handle domainist addresses. 3. Said of a person (esp. a site
- admin) who prefers domain addressing, supports a domainist mailer,
- or prosyletizes for domainist addressing and disdains {bang
- path}s. This term is now (1993) semi-obsolete, as most sites have
- converted.
-
- :Don't do that, then!: [from an old doctor's office joke about a
- patient with a trivial complaint] Stock response to a user
- complaint. "When I type control-S, the whole system comes to a
- halt for thirty seconds." "Don't do that, then!" (or "So don't
- do that!"). Compare {RTFM}.
-
- :dongle: /dong'gl/ n. 1. A security or {copy protection}
- device for commercial microcomputer programs consisting of a
- serialized EPROM and some drivers in a D-25 connector shell, which
- must be connected to an I/O port of the computer while the program
- is run. Programs that use a dongle query the port at startup and
- at programmed intervals thereafter, and terminate if it does not
- respond with the dongle's programmed validation code. Thus, users
- can make as many copies of the program as they want but must pay
- for each dongle. The idea was clever, but it was initially a
- failure, as users disliked tying up a serial port this way. Most
- dongles on the market today (1991) will pass data through the port
- and monitor for {magic} codes (and combinations of status lines)
- with minimal if any interference with devices further down the line
- --- this innovation was necessary to allow daisy-chained dongles
- for multiple pieces of software. The devices are still not widely
- used, as the industry has moved away from copy-protection schemes
- in general. 2. By extension, any physical electronic key or
- transferrable ID required for a program to function. Common
- variations on this theme have used parallel or even joystick
- ports. See {dongle-disk}.
-
- [Note: in early 1992, advertising copy from Rainbow Technologies (a
- manufacturer of dongles) included a claim that the word derived from
- "Don Gall", allegedly the inventor of the device. The company's
- receptionist will cheerfully tell you that the story is a myth
- invented for the ad copy. Nevertheless, I expect it to haunt my
- life as a lexicographer for at least the next ten years. --- ESR]
-
- :dongle-disk: /don'gl disk/ n. A special floppy disk that is
- required in order to perform some task. Some contain special
- coding that allows an application to identify it uniquely, others
- *are* special code that does something that normally-resident
- programs don't or can't. (For example, AT&T's "Unix PC" would
- only come up in {root mode} with a special boot disk.) Also
- called a `key disk'. See {dongle}.
-
- :donuts: n.obs. A collective noun for any set of memory bits. This
- usage is extremely archaic and may no longer be live jargon; it
- dates from the days of ferrite-{core} memories in which each bit
- was implemented by a doughnut-shaped magnetic flip-flop.
-
- :doorstop: n. Used to describe equipment that is non-functional and
- halfway expected to remain so, especially obsolete equipment kept
- around for political reasons or ostensibly as a backup. "When we
- get another Wyse-50 in here, that ADM 3 will turn into a doorstop."
- Compare {boat anchor}.
-
- :dot file: [UNIX] n. A file that is not visible by default to
- normal directory-browsing tools (on UNIX, files named with a
- leading dot are, by convention, not normally presented in directory
- listings). Many programs define one or more dot files in which
- startup or configuration information may be optionally recorded; a
- user can customize the program's behavior by creating the
- appropriate file in the current or home directory. (Therefore, dot
- files tend to {creep} --- with every nontrivial application
- program defining at least one, a user's home directory can be
- filled with scores of dot files, of course without the user's
- really being aware of it.) See also {rc file}.
-
- :double bucky: adj. Using both the CTRL and META keys. "The
- command to burn all LEDs is double bucky F."
-
- This term originated on the Stanford extended-ASCII keyboard, and
- was later taken up by users of the {space-cadet keyboard} at
- MIT. A typical MIT comment was that the Stanford {bucky bits}
- (control and meta shifting keys) were nice, but there weren't
- enough of them; you could type only 512 different characters on a
- Stanford keyboard. An obvious way to address this was simply to
- add more shifting keys, and this was eventually done; but a
- keyboard with that many shifting keys is hard on touch-typists, who
- don't like to move their hands away from the home position on the
- keyboard. It was half-seriously suggested that the extra shifting
- keys be implemented as pedals; typing on such a keyboard would be
- very much like playing a full pipe organ. This idea is mentioned
- in a parody of a very fine song by Jeffrey Moss called
- "Rubber Duckie", which was published in `The Sesame
- Street Songbook' (Simon and Schuster 1971, ISBN 0-671-21036-X).
- These lyrics were written on May 27, 1978, in celebration of the
- Stanford keyboard:
-
- Double Bucky
-
- Double bucky, you're the one!
- You make my keyboard lots of fun.
- Double bucky, an additional bit or two:
- (Vo-vo-de-o!)
- Control and meta, side by side,
- Augmented ASCII, nine bits wide!
- Double bucky! Half a thousand glyphs, plus a few!
- Oh,
- I sure wish that I
- Had a couple of
- Bits more!
- Perhaps a
- Set of pedals to
- Make the number of
- Bits four:
- Double double bucky!
- Double bucky, left and right
- OR'd together, outta sight!
- Double bucky, I'd like a whole word of
- Double bucky, I'm happy I heard of
- Double bucky, I'd like a whole word of you!
-
- --- The Great Quux (with apologies to Jeffrey Moss)
-
- [This, by the way, is an excellent example of computer {filk}
- --- ESR] See also {meta bit}, {cokebottle}, and {quadruple
- bucky}.
-
- :double DECkers: n. Used to describe married couples in which both
- partners work for Digital Equipment Corporation.
-
- :doubled sig: [USENET] n. A {sig block} that has been included
- twice in a {USENET} article or, less commonly, in an electronic
- mail message. An article or message with a doubled sig can be
- caused by improperly configured software. More often, however, it
- reveals the author's lack of experience in electronic
- communication. See {BIFF}, {pseudo}.
-
- :down: 1. adj. Not operating. "The up escalator is down" is
- considered a humorous thing to say, and "The elevator is down"
- always means "The elevator isn't working" and never refers to
- what floor the elevator is on. With respect to computers, this
- term has passed into the mainstream; the extension to other kinds
- of machine is still hackish. 2. `go down' vi. To stop
- functioning; usually said of the {system}. The message from the
- {console} that every hacker hates to hear from the operator is
- "System going down in 5 minutes". 3. `take down', `bring
- down' vt. To deactivate purposely, usually for repair work or
- {PM}. "I'm taking the system down to work on that bug in the
- tape drive." Occasionally one hears the word `down' by itself
- used as a verb in this vt. sense. See {crash};
- oppose {up}.
-
- :download: vt. To transfer data or (esp.) code from a larger `host'
- system (esp. a {mainframe}) over a digital comm link to a smaller
- `client' system, esp. a microcomputer or specialized peripheral.
- Oppose {upload}.
-
- However, note that ground-to-space communications has its own usage
- rule for this term. Space-to-earth transmission is always `down'
- and the reverse `up' regardless of the relative size of the
- computers involved. So far the in-space machines have invariably
- been smaller; thus the upload/download distinction has been
- reversed from its usual sense.
-
- :DP: /D-P/ n. 1. Data Processing. Listed here because,
- according to hackers, use of the term marks one immediately as a
- {suit}. See {DPer}. 2. Common abbrev for {Dissociated
- Press}.
-
- :DPB: /d*-pib'/ [from the PDP-10 instruction set] vt. To plop
- something down in the middle. Usage: silly. "DPB yourself into
- that couch there." The connotation would be that the couch is
- full except for one slot just big enough for one last person to sit
- in. DPB means `DePosit Byte', and was the name of a PDP-10
- instruction that inserts some bits into the middle of some other
- bits. Hackish usage has been kept alive by the Common LISP function
- of the same name.
-
- :DPer: /dee-pee-er/ n. Data Processor. Hackers are absolutely
- amazed that {suit}s use this term self-referentially.
- *Computers* process data, not people! See {DP}.
-
- :dragon: n. [MIT] A program similar to a {daemon}, except that
- it is not invoked at all, but is instead used by the system to
- perform various secondary tasks. A typical example would be an
- accounting program, which keeps track of who is logged in,
- accumulates load-average statistics, etc. Under ITS, many
- terminals displayed a list of people logged in, where they were,
- what they were running, etc., along with some random picture (such
- as a unicorn, Snoopy, or the Enterprise), which was generated by
- the `name dragon'. Usage: rare outside MIT --- under UNIX and most
- other OSes this would be called a `background demon' or
- {daemon}. The best-known UNIX example of a dragon is
- `cron(1)'. At SAIL, they called this sort of thing a
- `phantom'.
-
- :Dragon Book: n. The classic text `Compilers: Principles,
- Techniques and Tools', by Alfred V. Aho, Ravi Sethi, and Jeffrey D.
- Ullman (Addison-Wesley 1986; ISBN 0-201-10088-6), so called because
- of the cover design featuring a dragon labeled `complexity of
- compiler design' and a knight bearing the lance `LALR parser
- generator' among his other trappings. This one is more
- specifically known as the `Red Dragon Book' (1986); an earlier
- edition, sans Sethi and titled `Principles Of Compiler Design'
- (Alfred V. Aho and Jeffrey D. Ullman; Addison-Wesley, 1977; ISBN
- 0-201-00022-9), was the `Green Dragon Book' (1977). (Also `New
- Dragon Book', `Old Dragon Book'.) The horsed knight and the
- Green Dragon were warily eying each other at a distance; now the
- knight is typing (wearing gauntlets!) at a terminal showing a
- video-game representation of the Red Dragon's head while the rest
- of the beast extends back in normal space. See also {{book
- titles}}.
-
- :drain: [IBM] v. Syn. for {flush} (sense 2). Has a connotation
- of finality about it; one speaks of draining a device before taking
- it offline.
-
- :dread high-bit disease: n. A condition endemic to PRIME (a.k.a.
- PR1ME) minicomputers that results in all the characters having
- their high (0x80) bit ON rather than OFF. This of course makes
- transporting files to other systems much more difficult, not to
- mention talking to true 8-bit devices. Folklore had it that PRIME
- adopted the reversed-8-bit convention in order to save 25 cents per
- serial line per machine; PRIME old-timers, on the other hand, claim
- they inherited the disease from Honeywell via customer NASA's
- compatibility requirements and struggled heroicly to cure it.
- Whoever was responsible, this probably qualifies as one of the
- most {cretinous} design tradeoffs ever made. See {meta bit}.
- A few other machines have exhibited similar brain damage.
-
- :DRECNET: /drek'net/ [from Yiddish/German `dreck', meaning
- filth] n. Deliberate distortion of DECNET, a networking protocol
- used in the {VMS} community. So called because DEC helped write
- the Ethernet specification and then (either stupidly or as a
- malignant customer-control tactic) violated that spec in the design
- of DRECNET in a way that made it incompatible. See also
- {connector conspiracy}.
-
- :driver: n. 1. The {main loop} of an event-processing program;
- the code that gets commands and dispatches them for execution.
- 2. [techspeak] In `device driver', code designed to handle a
- particular peripheral device such as a magnetic disk or tape unit.
- 3. In the TeX world and the computerized typesetting world in
- general, a program that translates some device-independent or other
- common format to something a real device can actually
- understand.
-
- :droid: n. A person (esp. a low-level bureaucrat or
- service-bus-i-ness employee) exhibiting most of the following
- characteristics: (a) naive trust in the wisdom of the parent
- organization or `the system'; (b) a blind-faith propensity to
- believe obvious nonsense emitted by authority figures (or
- computers!); (c) a rule-governed mentality, one unwilling or unable
- to look beyond the `letter of the law' in exceptional
- situations; (d), a paralyzing fear of official reprimand or worse
- if Procedures are not followed No Matter What; and (e) no interest
- no interest in doing anything above or beyond the call of a very
- narrowly-interpreted duty, or in particular in fixing that which is
- broken; an "It's not my job, man" attitude.
-
- Typical droid positions include supermarket checkout assistant and
- bank clerk; the syndrome is also endemic in low-level government
- employees. The implication is that the rules and official
- procedures constitute software that the droid is executing;
- problems arise when the software has not been properly debugged.
- The term `droid mentality' is also used to describe the mindset
- behind this behavior. Compare {suit}, {marketroid}; see
- {-oid}.
-
- :drool-proof paper: n. Documentation that has been obsessively {dumbed
- down}, to the point where only a {cretin} could bear to read it, is
- said to have succumbed to the `drool-proof paper syndrome' or to
- have been `written on drool-proof paper'. For example, this is
- an actual quote from Apple's LaserWriter manual: "Do not expose
- your LaserWriter to open fire or flame."
-
- :drop on the floor: vt. To react to an error condition by silently
- discarding messages or other valuable data. "The gateway
- ran out of memory, so it just started dropping packets on the
- floor." Also frequently used of faulty mail and netnews relay
- sites that lose messages. See also {black hole}, {bit bucket}.
-
- :drop-ins: [prob. by analogy with {drop-outs}] n. Spurious
- characters appearing on a terminal or console as a result of line
- noise or a system malfunction of some sort. Esp. used when these
- are interspersed with one's own typed input. Compare
- {drop-outs}, sense 2.
-
- :drop-outs: n. 1. A variety of `power glitch' (see {glitch});
- momentary 0 voltage on the electrical mains. 2. Missing characters
- in typed input due to software malfunction or system saturation
- (one cause of such behavior under UNIX when a bad connection to a
- modem swamps the processor with spurious character interrupts; see
- {screaming tty}). 3. Mental glitches; used as a way of
- describing those occasions when the mind just seems to shut down
- for a couple of beats. See {glitch}, {fried}.
-
- :drugged: adj. (also `on drugs') 1. Conspicuously stupid,
- heading toward {brain-damaged}. Often accompanied by a
- pantomime of toking a joint (but see {Appendix B}). 2. Of hardware,
- very slow relative to normal performance.
-
- :drum: adj, n. Ancient techspeak term referring to slow,
- cylindrical magnetic media that were once state-of-the-art
- mass-storage devices. Under BSD UNIX the disk partition used for
- swapping is still called `/dev/drum'; this has led to
- considerable humor and not a few straight-faced but utterly bogus
- `explanations' getting foisted on {newbie}s. See also "{The
- Story of Mel, a Real Programmer}" in {Appendix A}.
-
- :drunk mouse syndrome: (also `mouse on drugs') n. A malady
- exhibited by the mouse pointing device of some computers. The
- typical symptom is for the mouse cursor on the screen to move in
- random directions and not in sync with the motion of the actual
- mouse. Can usually be corrected by unplugging the mouse and
- plugging it back again. Another recommended fix for optical mice
- is to rotate your mouse pad 90 degrees.
-
- At Xerox PARC in the 1970s, most people kept a can of copier
- cleaner (isopropyl alcohol) at their desks. When the steel ball on
- the mouse had picked up enough {cruft} to be unreliable, the
- mouse was doused in cleaner, which restored it for a while.
- However, this operation left a fine residue that accelerated the
- accumulation of cruft, so the dousings became more and more
- frequent. Finally, the mouse was declared `alcoholic' and sent
- to the clinic to be dried out in a CFC ultrasonic bath.
-
- :Duff's device: n. The most dramatic use yet seen of {fall
- through} in C, invented by Tom Duff when he was at Lucasfilm.
- Trying to {bum} all the instructions he could out of an inner
- loop that copied data serially onto an output port, he decided to
- {unroll} it. He then realized that the unrolled version could
- be implemented by *interlacing* the structures of a switch and
- a loop:
-
- register n = (count + 7) / 8; /* count > 0 assumed */
-
- switch (count % 8)
- {
- case 0: do { *to = *from++;
- case 7: *to = *from++;
- case 6: *to = *from++;
- case 5: *to = *from++;
- case 4: *to = *from++;
- case 3: *to = *from++;
- case 2: *to = *from++;
- case 1: *to = *from++;
- } while (--n > 0);
- }
-
- Shocking though it appears to all who encounter it for the first
- time, the device is actually perfectly valid, legal C. C's default
- {fall through} in case statements has long been its most
- controversial single feature; Duff observed that "This code forms
- some sort of argument in that debate, but I'm not sure whether it's
- for or against."
-
- [For maximal obscurity, the outermost pair of braces above could be
- actually be removed --- GLS]
-
- :dumb terminal: n. A terminal that is one step above a {glass tty},
- having a minimally addressable cursor but no on-screen editing or
- other features normally supported by a {smart terminal}. Once upon a
- time, when glass ttys were common and addressable cursors were
- something special, what is now called a dumb terminal could pass for
- a smart terminal.
-
- :dumbass attack: /duhm'as *-tak'/ [Purdue] n. Notional cause of a
- novice's mistake made by the experienced, especially one made while
- running as {root} under UNIX, e.g., typing `rm -r *' or
- `mkfs' on a mounted file system. Compare {adger}.
-
- :dumbed down: adj. Simplified, with a strong connotation of
- *over*simplified. Often, a {marketroid} will insist that
- the interfaces and documentation of software be dumbed down after
- the designer has burned untold gallons of midnight oil making it
- smart. This creates friction. See {user-friendly}.
-
- :dump: n. 1. An undigested and voluminous mass of information about
- a problem or the state of a system, especially one routed to the
- slowest available output device (compare {core dump}), and most
- especially one consisting of hex or octal {runes} describing the
- byte-by-byte state of memory, mass storage, or some file. In
- {elder days}, debugging was generally done by `groveling over'
- a dump (see {grovel}); increasing use of high-level languages
- and interactive debuggers has made such tedium uncommon, and the
- term `dump' now has a faintly archaic flavor. 2. A backup. This
- usage is typical only at large timesharing installations.
-
- :dumpster diving: /dump'-ster di:'-ving/ n. 1. The practice of
- sifting refuse from an office or technical installation to extract
- confidential data, especially security-compromising information
- (`dumpster' is an Americanism for what is elsewhere called a
- `skip'). Back in AT&T's monopoly days, before paper shredders
- became common office equipment, phone phreaks (see {phreaking})
- used to organize regular dumpster runs against phone company plants
- and offices. Discarded and damaged copies of AT&T internal manuals
- taught them much. The technique is still rumored to be a favorite
- of crackers operating against careless targets. 2. The practice of
- raiding the dumpsters behind buildings where producers and/or
- consumers of high-tech equipment are located, with the expectation
- (usually justified) of finding discarded but still-valuable
- equipment to be nursed back to health in some hacker's den.
- Experienced dumpster-divers not infrequently accumulate basements
- full of moldering (but still potentially useful) {cruft}.
-
- :dup killer: /d[y]oop kill'r/ [FidoNet] n. Software that is
- supposed to detect and delete duplicates of a message that may
- have reached the FidoNet system via different routes.
-
- :dup loop: /d[y]oop loop/ (also `dupe loop') [FidoNet] n. An
- infinite stream of duplicated, near-identical messages on a FidoNet
- {echo}, the only difference being unique or mangled identification
- information applied by a faulty or incorrectly configured system or
- network gateway, thus rendering {dup killer}s ineffective. If
- such a duplicate message eventually reaches a system through which
- it has already passed (with the original identification
- information), all systems passed on the way back to that system are
- said to be involved in a {dup loop}.
-
- :dusty deck: n. Old software (especially applications) which one is
- obliged to remain compatible with, or to maintain ({DP} types
- call this `legacy code', a term hackers consider smarmy and
- excessively reverent). The term implies that the software in
- question is a holdover from card-punch days. Used esp. when
- referring to old scientific and {number-crunching} software,
- much of which was written in FORTRAN and very poorly documented but
- is believed to be too expensive to replace. See {fossil};
- compare {crawling horror}.
-
- :DWIM: /dwim/ [acronym, `Do What I Mean'] 1. adj. Able to guess,
- sometimes even correctly, the result intended when bogus input was
- provided. 2. n.,obs. The BBNLISP/INTERLISP function that attempted
- to accomplish this feat by correcting many of the more common
- errors. See {hairy}. 3. Occasionally, an interjection hurled
- at a balky computer, esp. when one senses one might be tripping
- over legalisms (see {legalese}).
-
- Warren Teitelman originally wrote DWIM to fix his typos and
- spelling errors, so it was somewhat idiosyncratic to his style, and
- would often make hash of anyone else's typos if they were
- stylistically different. Some victims of DWIM thus claimed that
- the acronym stood for `Damn Warren's Infernal Machine!'.
-
- In one notorious incident, Warren added a DWIM feature to the
- command interpreter used at Xerox PARC. One day another hacker
- there typed `delete *$' to free up some disk space. (The
- editor there named backup files by appending `$' to the
- original file name, so he was trying to delete any backup files
- left over from old editing sessions.) It happened that there
- weren't any editor backup files, so DWIM helpfully reported
- `*$ not found, assuming you meant 'delete *'.' It then started
- to delete all the files on the disk! The hacker managed to stop it
- with a {Vulcan nerve pinch} after only a half dozen or so files
- were lost.
-
- The disgruntled victim later said he had been sorely tempted to go
- to Warren's office, tie Warren down in his chair in front of his
- workstation, and then type `delete *$' twice.
-
- DWIM is often suggested in jest as a desired feature for a complex
- program; it is also occasionally described as the single
- instruction the ideal computer would have. Back when proofs of
- program correctness were in vogue, there were also jokes about
- `DWIMC' (Do What I Mean, Correctly). A related term, more often
- seen as a verb, is DTRT (Do The Right Thing); see {Right
- Thing}.
-
- :dynner: /din'r/ 32 bits, by analogy with {nybble} and
- {{byte}}. Usage: rare and extremely silly. See also {playte},
- {tayste}, {crumb}.
- = E =
- =====
-
- :earthquake: [IBM] n. The ultimate real-world shock test for
- computer hardware. Hackish sources at IBM deny the rumor that the
- Bay Area quake of 1989 was initiated by the company to test
- quality-assurance procedures at its California plants.
-
- :Easter egg: [from the custom of the Easter Egg hunt observed in
- the U.S. and many parts of Europe] n. 1. A message hidden in the
- object code of a program as a joke, intended to be found by persons
- disassembling or browsing the code. 2. A message, graphic, or
- sound effect emitted by a program (or, on a PC, the BIOS ROM) in
- response to some undocumented set of commands or keystrokes,
- intended as a joke or to display program credits. One well-known
- early Easter egg found in a couple of OSes caused them to respond
- to the command `make love' with `not war?'. Many
- personal computers have much more elaborate eggs hidden in ROM,
- including lists of the developers' names, political exhortations,
- snatches of music, and (in one case) graphics images of the entire
- development team.
-
- :Easter egging: [IBM] n. The act of replacing unrelated components
- more or less at random in hopes that a malfunction will go away.
- Hackers consider this the normal operating mode of {field
- circus} techs and do not love them for it. See also the jokes
- under {field circus}. Compare {shotgun debugging}.
-
- :eat flaming death: imp. A construction popularized among hackers by
- the infamous {CPU Wars} comic; supposedly derive from a famously
- turgid line in a WWII-era anti-Nazi propaganda comic that ran
- "Eat flaming death, non-Aryan mongrels!" or something of the sort
- (however, it is also reported that the Firesign Theater's
- 1975 album "In The Next World, You're On Your Own" included the
- phrase "Eat flaming death, fascist media pigs"; this may have been
- an influence). Used in humorously overblown expressions of
- hostility. "Eat flaming death, {{EBCDIC}} users!"
-
- :EBCDIC:: /eb's*-dik/, /eb'see`dik/, or /eb'k*-dik/ [abbreviation,
- Extended Binary Coded Decimal Interchange Code] n. An alleged
- character set used on IBM {dinosaur}s. It exists in at least six
- mutually incompatible versions, all featuring such delights as
- non-contiguous letter sequences and the absence of several ASCII
- punctuation characters fairly important for modern computer
- languages (exactly which characters are absent varies according to
- which version of EBCDIC you're looking at). IBM adapted EBCDIC
- from {{punched card}} code in the early 1960s and promulgated it
- as a customer-control tactic (see {connector conspiracy}),
- spurning the already established ASCII standard. Today, IBM claims
- to be an open-systems company, but IBM's own description of the
- EBCDIC variants and how to convert between them is still internally
- classified top-secret, burn-before-reading. Hackers blanch at the
- very *name* of EBCDIC and consider it a manifestation of
- purest {evil}. See also {fear and loathing}.
-
- :echo: [FidoNet] n. A {topic group} on {FidoNet}'s echomail
- system. Compare {newsgroup}.
-
- :eighty-column mind: [IBM] n. The sort said to be possessed by
- persons for whom the transition from {punched card} to tape was
- traumatic (nobody has dared tell them about disks yet). It is said
- that these people, including (according to an old joke) the founder
- of IBM, will be buried `face down, 9-edge first' (the 9-edge being
- the bottom of the card). This directive is inscribed on IBM's
- 1402 and 1622 card readers and is referenced in a famous bit of
- doggerel called "The Last Bug", the climactic lines of which
- are as follows:
-
- He died at the console
- Of hunger and thirst.
- Next day he was buried,
- Face down, 9-edge first.
-
- The eighty-column mind is thought by most hackers to dominate IBM's
- customer base and its thinking. See {IBM}, {fear and
- loathing}, {card walloper}.
-
- :El Camino Bignum: /el' k*-mee'noh big'nuhm/ n. The road
- mundanely called El Camino Real, a road through the San Francisco
- peninsula that originally extended all the way down to Mexico City
- and many portions of which are still intact. Navigation on the San
- Francisco peninsula is usually done relative to El Camino Real,
- which defines {logical} north and south even though it isn't
- really north-south many places. El Camino Real runs right past
- Stanford University and so is familiar to hackers.
-
- The Spanish word `real' (which has two syllables: /ray-ol'/)
- means `royal'; El Camino Real is `the royal road'. In the FORTRAN
- language, a `real' quantity is a number typically precise to seven
- significant digits, and a `double precision' quantity is a larger
- floating-point number, precise to perhaps fourteen significant
- digits (other languages have similar `real' types).
-
- When a hacker from MIT visited Stanford in 1976, he remarked what a
- long road El Camino Real was. Making a pun on `real', he started
- calling it `El Camino Double Precision' --- but when the hacker
- was told that the road was hundreds of miles long, he renamed it
- `El Camino Bignum', and that name has stuck. (See {bignum}.)
-
- :elder days: n. The heroic age of hackerdom (roughly, pre-1980); the
- era of the {PDP-10}, {TECO}, {{ITS}}, and the ARPANET. This
- term has been rather consciously adopted from J. R. R. Tolkien's
- fantasy epic `The Lord of the Rings'. Compare {Iron Age};
- see also {elvish} and {Great Worm, the}.
-
- :elegant: [from mathematical usage] adj. Combining simplicity,
- power, and a certain ineffable grace of design. Higher praise than
- `clever', `winning', or even {cuspy}.
-
- The French aviator, adventurer, and author Antoine de
- Saint-Exup'ery, probably best known for his classic children's
- book `The Little Prince', was also an aircraft designer. He
- gave us perhaps the best definition of engineering elegance when he
- said "A designer knows he has achieved perfection not when there
- is nothing left to add, but when there is nothing left to take
- away."
-
- :elephantine: adj. Used of programs or systems that are both
- conspicuous {hog}s (owing perhaps to poor design founded on
- {brute force and ignorance}) and exceedingly {hairy} in source
- form. An elephantine program may be functional and even friendly,
- but (as in the old joke about being in bed with an elephant) it's
- tough to have around all the same (and, like a pachyderm, difficult
- to maintain). In extreme cases, hackers have been known to make
- trumpeting sounds or perform expressive proboscatory mime at the
- mention of the offending program. Usage: semi-humorous. Compare
- `has the elephant nature' and the somewhat more pejorative
- {monstrosity}. See also {second-system effect} and
- {baroque}.
-
- :elevator controller: n. An archetypal dumb embedded-systems
- application, like {toaster} (which superseded it). During one
- period (1983--84) in the deliberations of ANSI X3J11 (the
- C standardization committee) this was the canonical example of a
- really stupid, memory-limited computation environment. "You can't
- require `printf(3)' to be part of the default runtime library
- --- what if you're targeting an elevator controller?" Elevator
- controllers became important rhetorical weapons on both sides of
- several {holy wars}.
-
- :ELIZA effect: /*-li:'z* *-fekt'/ [AI community] n. The tendency of
- humans to attach associations to terms from prior experience.
- For example, there is nothing magic about the symbol `+' that
- makes it well-suited to indicate addition; it's just that people
- associate it with addition. Using `+' or `plus' to mean addition
- in a computer language is taking advantage of the ELIZA effect.
-
- This term comes from the famous ELIZA program by Joseph Weizenbaum,
- which simulated a Rogerian psychoanalyst by re-phrasing many of the
- patient's statements as questions and posing them to the patient.
- It worked by simple pattern recognition and substitution of key
- words into canned phrases. It was so convincing, however, that
- there are many anecdotes about people becoming very emotionally
- caught up in dealing with ELIZA. All this was due to people's
- tendency to attach to words meanings which the computer never put
- there. The ELIZA effect is a {Good Thing} when writing a
- programming language, but it can blind you to serious shortcomings
- when analyzing an Artificial Intelligence system. Compare
- {ad-hockery}; see also {AI-complete}.
-
- :elvish: n. 1. The Tengwar of Feanor, a table of letterforms
- resembling the beautiful Celtic half-uncial hand of the `Book
- of Kells'. Invented and described by J. R. R. Tolkien in `The
- Lord of The Rings' as an orthography for his fictional `elvish'
- languages, this system (which is both visually and phonetically
- {elegant}) has long fascinated hackers (who tend to be intrigued
- by artificial languages in general). It is traditional for
- graphics printers, plotters, window systems, and the like to
- support a Feanorian typeface as one of their demo items. See also
- {elder days}. 2. By extension, any odd or unreadable typeface
- produced by a graphics device. 3. The typeface mundanely called
- `B"ocklin', an art-decoish display font.
-
- :EMACS: /ee'maks/ [from Editing MACroS] n. The ne plus ultra of
- hacker editors, a programmable text editor with an entire LISP
- system inside it. It was originally written by Richard Stallman in
- {TECO} under {{ITS}} at the MIT AI lab; AI Memo 554 described
- it as "an advanced, self-documenting, customizable, extensible
- real-time display editor". It has since been reimplemented any
- number of times, by various hackers, and versions exist that run
- under most major operating systems. Perhaps the most widely used
- version, also written by Stallman and now called "{GNU} EMACS"
- or {GNUMACS}, runs principally under UNIX. It includes
- facilities to run compilation subprocesses and send and receive
- mail; many hackers spend up to 80% of their {tube time} inside
- it. Other variants include {GOSMACS}, CCA EMACS, UniPress
- EMACS, Montgomery EMACS, jove, epsilon, and MicroEMACS.
-
- Some EMACS versions running under window managers iconify as an
- overflowing kitchen sink, perhaps to suggest the one feature the
- editor does not (yet) include. Indeed, some hackers find EMACS too
- {heavyweight} and {baroque} for their taste, and expand the
- name as `Escape Meta Alt Control Shift' to spoof its heavy reliance
- on keystrokes decorated with {bucky bits}. Other spoof
- expansions include `Eight Megabytes And Constantly Swapping',
- `Eventually `malloc()'s All Computer Storage', and `EMACS
- Makes A Computer Slow' (see {{recursive acronym}}). See
- also {vi}.
-
- :email: /ee'mayl/ (also written `e-mail') 1. n. Electronic mail
- automatically passed through computer networks and/or via modems
- over common-carrier lines. Contrast {snail-mail},
- {paper-net}, {voice-net}. See {network address}.
- 2. vt. To send electronic mail.
-
- Oddly enough, the word `emailed' is actually listed in the OED; it
- means "embossed (with a raised pattern) or arranged in a net work".
- A use from 1480 is given. The word is derived from French
- `emmailleure', network.
-
- :emoticon: /ee-moh'ti-kon/ n. An ASCII glyph used to indicate an
- emotional state in email or news. Although originally intended
- mostly as jokes, emoticons (or some other explicit humor
- indication) are virtually required under certain circumstances in
- high-volume text-only communication forums such as USENET; the lack
- of verbal and visual cues can otherwise cause what were intended to
- be humorous, sarcastic, ironic, or otherwise non-100%-serious
- comments to be badly misinterpreted (not always even by
- {newbie}s), resulting in arguments and {flame war}s.
-
- Hundreds of emoticons have been proposed, but only a few are in
- common use. These include:
-
- :-)
- `smiley face' (for humor, laughter, friendliness,
- occasionally sarcasm)
-
- :-(
- `frowney face' (for sadness, anger, or upset)
-
- ;-)
- `half-smiley' ({ha ha only serious});
- also known as `semi-smiley' or `winkey face'.
-
- :-/
- `wry face'
-
- (These may become more comprehensible if you tilt your head
- sideways, to the left.)
-
- The first two listed are by far the most frequently encountered.
- Hyphenless forms of them are common on CompuServe, GEnie, and BIX;
- see also {bixie}. On {USENET}, `smiley' is often used as a
- generic term synonymous with {emoticon}, as well as specifically
- for the happy-face emoticon.
-
- It appears that the emoticon was invented by one Scott Fahlman on
- the CMU {bboard} systems around 1980. He later wrote: "I wish I
- had saved the original post, or at least recorded the date for
- posterity, but I had no idea that I was starting something that
- would soon pollute all the world's communication channels." [GLS
- confirms that he remembers this original posting].
-
- Note for the {newbie}: Overuse of the smiley is a mark of
- loserhood! More than one per paragraph is a fairly sure sign that
- you've gone over the line.
-
- :empire: n. Any of a family of military simulations derived from a
- game written by Peter Langston many years ago. Five or six
- multi-player variants of varying degrees of sophistication exist,
- and one single-player version implemented for both UNIX and VMS;
- the latter is even available as MS-DOS freeware. All are
- notoriously addictive.
-
- :engine: n. 1. A piece of hardware that encapsulates some function
- but can't be used without some kind of {front end}. Today we
- have, especially, `print engine': the guts of a laser printer.
- 2. An analogous piece of software; notionally, one that does a lot
- of noisy crunching, such as a `database engine'.
-
- The hackish senses of `engine' are actually close to its original,
- pre-Industrial-Revolution sense of a skill, clever device, or
- instrument (the word is cognate to `ingenuity'). This sense had
- not been completely eclipsed by the modern connotation of
- power-transducing machinery in Charles Babbage's time, which
- explains why he named the stored-program computer that
- he designed in 1844 the `Analytical Engine'.
-
- :English: 1. n.,obs. The source code for a program, which may be in
- any language, as opposed to the linkable or executable binary
- produced from it by a compiler. The idea behind the term is that
- to a real hacker, a program written in his favorite programming
- language is at least as readable as English. Usage: mostly by
- old-time hackers, though recognizable in context. 2. The official
- name of the database language used by the Pick Operating System,
- actually a sort of crufty, brain-damaged SQL with delusions of
- grandeur. The name permits {marketroid}s to say "Yes, and you
- can program our computers in English!" to ignorant {suit}s
- without quite running afoul of the truth-in-advertising laws.
-
- :enhancement: n. {Marketroid}-speak for a bug {fix}. This abuse
- of language is a popular and time-tested way to turn incompetence
- into increased revenue. A hacker being ironic would instead call
- the fix a {feature} --- or perhaps save some effort by declaring
- the bug itself to be a feature.
-
- :ENQ: /enkw/ or /enk/ [from the ASCII mnemonic ENQuire for
- 0000101] An on-line convention for querying someone's availability.
- After opening a {talk mode} connection to someone apparently in
- heavy hack mode, one might type `SYN SYN ENQ?' (the SYNs
- representing notional synchronization bytes), and expect a return
- of {ACK} or {NAK} depending on whether or not the person felt
- interruptible. Compare {ping}, {finger}, and the usage of
- `FOO?' listed under {talk mode}.
-
- :EOF: /E-O-F/ [abbreviation, `End Of File'] n. 1. [techspeak] The
- {out-of-band} value returned by C's sequential character-input
- functions (and their equivalents in other environments) when end of
- file has been reached. This value is -1 under C
- libraries postdating V6 UNIX, but was originally 0. 2. [UNIX] The
- keyboard character (usually control-D, the ASCII EOT (End Of
- Transmission) character) that is mapped by the terminal driver into
- an end-of-file condition. 3. Used by extension in non-computer
- contexts when a human is doing something that can be modeled as a
- sequential read and can't go further. "Yeah, I looked for a list
- of 360 mnemonics to post as a joke, but I hit EOF pretty fast; all
- the library had was a {JCL} manual." See also
- {EOL}.
-
- :EOL: /E-O-L/ [End Of Line] n. Syn. for {newline}, derived
- perhaps from the original CDC6600 Pascal. Now rare, but widely
- recognized and occasionally used for brevity. Used in the
- example entry under {BNF}. See also {EOF}.
-
- :EOU: /E-O-U/ n. The mnemonic of a mythical ASCII control
- character (End Of User) that would make an ASR-33 Teletype explode
- on receipt. This construction parodies the numerous obscure
- delimiter and control characters left in ASCII from the days when
- it was associated more with wire-service teletypes than computers
- (e.g., FS, GS, RS, US, EM, SUB, ETX, and esp. EOT). It is worth
- remembering that ASR-33s were big, noisy mechanical beasts with a
- lot of clattering parts; the notion that one might explode was
- nowhere near as ridiculous as it might seem to someone sitting in
- front of a {tube} or flatscreen today.
-
- :epoch: [UNIX: prob. from astronomical timekeeping] n. The time
- and date corresponding to 0 in an operating system's clock and
- timestamp values. Under most UNIX versions the epoch is 00:00:00
- GMT, January 1, 1970; under VMS, it's 00:00:00 GMT of November 17,
- 1858 (base date of the U.S. Naval Observatory's ephemerides).
- System time is measured in seconds or {tick}s past the epoch.
- Weird problems may ensue when the clock wraps around (see {wrap
- around}), which is not necessarily a rare event; on systems
- counting 10 ticks per second, a signed 32-bit count of ticks is
- good only for 6.8 years. The 1-tick-per-second clock of UNIX is
- good only until January 18, 2038, assuming at least some software
- continues to consider it signed and that word lengths don't
- increase by then. See also {wall time}.
-
- :epsilon: [see {delta}] 1. n. A small quantity of anything.
- "The cost is epsilon." 2. adj. Very small, negligible; less than
- {marginal}. "We can get this feature for epsilon cost."
- 3. `within epsilon of': close enough to be indistinguishable for
- all practical purposes, even closer than being `within delta
- of'. "That's not what I asked for, but it's within epsilon of
- what I wanted." Alternatively, it may mean not close enough, but
- very little is required to get it there: "My program is within
- epsilon of working."
-
- :epsilon squared: n. A quantity even smaller than {epsilon}, as
- small in comparison to epsilon as epsilon is to something normal;
- completely negligible. If you buy a supercomputer for a million
- dollars, the cost of the thousand-dollar terminal to go with it is
- {epsilon}, and the cost of the ten-dollar cable to connect them
- is epsilon squared. Compare {lost in the underflow}, {lost
- in the noise}.
-
- :era, the: Syn. {epoch}. Webster's Unabridged makes these words
- almost synonymous, but `era' usually connotes a span of time rather
- than a point in time. The {epoch} usage is recommended.
-
- :Eric Conspiracy: n. A shadowy group of mustachioed hackers named
- Eric first pinpointed as a sinister conspiracy by an infamous
- talk.bizarre posting ca. 1986; this was doubtless influenced by the
- numerous `Eric' jokes in the Monty Python oeuvre. There do indeed
- seem to be considerably more mustachioed Erics in hackerdom than
- the frequency of these three traits can account for unless they are
- correlated in some arcane way. Well-known examples include Eric
- Allman (he of the `Allman style' described under {indent style})
- and Erik Fair (co-author of NNTP); your editor has heard from about
- fourteen others by email, and the organization line `Eric
- Conspiracy Secret Laboratories' now emanates regularly from more
- than one site.
-
- :Eris: /e'ris/ n. The Greek goddess of Chaos, Discord, Confusion,
- and Things You Know Not Of; her name was latinized to Discordia and
- she was worshiped by that name in Rome. Not a very friendly deity
- in the Classical original, she was reinvented as a more benign
- personification of creative anarchy starting in 1959 by the
- adherents of {Discordianism} and has since been a semi-serious
- subject of veneration in several `fringe' cultures, including
- hackerdom. See {Discordianism}, {Church of the SubGenius}.
-
- :erotics: /ee-ro'tiks/ n. [Helsinki University of Technology,
- Finland] n. English-language university slang for electronics.
- Often used by hackers in Helsinki, maybe because good electronics
- excites them and makes them warm.
-
- :error 33: [XEROX PARC] n. 1. Predicating one research effort upon
- the success of another. 2. Allowing your own research effort to be
- placed on the critical path of some other project (be it a research
- effort or not).
-
- :evil: adj. As used by hackers, implies that some system, program,
- person, or institution is sufficiently maldesigned as to be not
- worth the bother of dealing with. Unlike the adjectives in the
- {cretinous}/{losing}/{brain-damaged} series, `evil' does
- not imply incompetence or bad design, but rather a set of goals or
- design criteria fatally incompatible with the speaker's. This
- usage is more an esthetic and engineering judgment than a moral one
- in the mainstream sense. "We thought about adding a {Blue
- Glue} interface but decided it was too evil to deal with."
- "{TECO} is neat, but it can be pretty evil if you're prone to
- typos." Often pronounced with the first syllable lengthened, as
- /eeee'vil/. Compare {evil and rude}.
-
- :evil and rude: adj. Both {evil} and {rude}, but this phrase
- has the additional connotation that the rudeness was due to malice
- rather than incompetence. Thus, for example: Microsoft's Windows
- NT is evil because it's a competent implementation of a bad
- design; it's rude because it's gratuitously incompatible with
- UNIX in places where compatibility would have been as easy and
- effective to do; but it's evil and rude because the
- incompatiblities are apparently there not to fix design bugs in
- UNIX but rather to lock hapless customers and developers into the
- Microsoft way. Hackish evil and rude is close to the mainstream
- sense of `evil'.
-
- :exa-: /ek's*/ [SI] pref. See {{quantifiers}}.
-
- :examining the entrails: n. The process of {grovel}ling through
- a {core dump} or hex image in the attempt to discover the bug that
- brought a program or system down. The reference is to divination
- from the entrails of a sacrified animal. Compare {runes},
- {incantation}, {black art}, {desk check}.
-
- :EXCH: /eks'ch*/ or /eksch/ vt. To exchange two things, each
- for the other; to swap places. If you point to two people sitting
- down and say "Exch!", you are asking them to trade places. EXCH,
- meaning EXCHange, was originally the name of a PDP-10 instruction
- that exchanged the contents of a register and a memory location.
- Many newer hackers are probably thinking instead of the
- {{PostScript}} exchange operator (which is usually written in
- lowercase).
-
- :excl: /eks'kl/ n. Abbreviation for `exclamation point'. See
- {bang}, {shriek}, {{ASCII}}.
-
- :EXE: /eks'ee/ or /eek'see/ or /E-X-E/ n. An executable
- binary file. Some operating systems (notably MS-DOS, VMS, and
- TWENEX) use the extension .EXE to mark such files. This usage is
- also occasionally found among UNIX programmers even though UNIX
- executables don't have any required suffix.
-
- :exec: /eg-zek'/ vt., n. 1. [UNIX: from `execute'] Synonym for
- {chain}, derives from the `exec(2)' call. 2. [from
- `executive'] obs. The command interpreter for an {OS} (see
- {shell}); term esp. used around mainframes, and prob.
- derived from UNIVAC's archaic EXEC 2 and EXEC 8 operating systems.
- 3. At IBM and VM/CMS shops, the equivalent of a shell command file
- (among VM/CMS users).
-
- The mainstream `exec' as an abbreviation for (human) executive is
- *not* used. To a hacker, an `exec' is a always a program,
- never a person.
-
- :exercise, left as an: [from technical books] Used to complete a
- proof when one doesn't mind a {handwave}, or to avoid one
- entirely. The complete phrase is: "The proof [or `the rest'] is
- left as an exercise for the reader." This comment *has*
- occasionally been attached to unsolved research problems by authors
- possessed of either an evil sense of humor or a vast faith in the
- capabilities of their audiences.
-
- :external memory: n. A memo pad or written notes. "Hold on while
- I write that to external memory". The analogy is with store or
- DRAM versus nonvolatile disk storage on computers.
-
- :eyeball search: n.,v. To look for something in a mass of code or data
- with one's own native optical sensors, as opposed to using some
- sort of pattern matching software like {grep} or any other
- automated search tool. Also called a {vgrep}; compare
- {vdiff}, {desk check}.
-
- = F =
- =====
-
- :face time: n. Time spent interacting with somebody face-to-face (as
- opposed to via electronic links). "Oh, yeah, I spent some face
- time with him at the last Usenix."
-
- :factor: n. See {coefficient of X}.
-
- :fall over: [IBM] vi. Yet another synonym for {crash} or {lose}.
- `Fall over hard' equates to {crash and burn}.
-
-
-
- X-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-X
- Another file downloaded from: The NIRVANAnet(tm) Seven
-
- & the Temple of the Screaming Electron Taipan Enigma 510/935-5845
- Burn This Flag Zardoz 408/363-9766
- realitycheck Poindexter Fortran 510/527-1662
- Lies Unlimited Mick Freen 801/278-2699
- The New Dork Sublime Biffnix 415/864-DORK
- The Shrine Rif Raf 206/794-6674
- Planet Mirth Simon Jester 510/786-6560
-
- "Raw Data for Raw Nerves"
- X-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-X
-